专栏首页生信技能树用wget下载需要用户名和密码认证的网站或者ftp服务器文件

用wget下载需要用户名和密码认证的网站或者ftp服务器文件

虽然我以前经常写爬虫,但毕竟是代码活,复用性非常低,每次得耗十几分钟解析网页并且写好代码。而熟悉linux的朋友都应该了解wget这个神器,有了url之后一行命令即可完成下载。

但真实的需求往往是,需要下载某个ftp服务器里面的多个文件,甚至该ftp服务器需要用户名和密码登录,比如公司给你提供的测序数据结果:

Host: sftp.biotrainee.com.cn or 123.123.123.123Username: 80-78395743Password: 8L5973452TJ0t4tQMPort: 22

诚然,我们可以用winscp或者filezilla等客户端软件下载,但是更多时候我们的数据量非常大,需要直接在服务器用命令行工具下载。

这个时候,就需要学习wget的高级技巧了。

比如之前卫计委搞了一个全国范围的基因检测实验室考察活动,放出的测试数据就是这样下载的:

wget -c -r -np -k -L -p --ftp-user=NCCLBIPT --ftp-password=nccl123456 ftp://211.103.138.229/Illumina_file/Illumina_B17NC/*

再比如http服务器:

斯坦福大学的生物信息学算法课程里面推荐阅读的的所有pdf格式的paper 课程的网址是:http://ai.stanford.edu/~serafim/CS374_2011/ 可以看到,这个网站推荐的文献分成8大类,本身这个网站打开就需要登录用户名和密码: 用户名是CS374-2011加上密码AlgorithmsInBiology

每一篇文献的单独地址是http://ai.stanford.edu/~serafim/CS3742011/papers/Miscellaneoustopics/Self-assemblyofDNA/selfhealingand_proofreading.pdf 类似的格式。

wget -c -r -np -k -L -p  -A.pdf --http-user=CS374-2011 --http-passwd=AlgorithmsInBiology http://ai.stanford.edu/~serafim/CS374_2011/papers/

我这里简单解释一下这些参数的意思:

-c -r -np -k -L -p -A.pdf

-c 断点续传-r 递归下载,下载指定网页某一目录下(包括子目录)的所有文件-nd 递归下载时不创建一层一层的目录,把所有的文件下载到当前目录(特殊要求会选择这个参数)-np 递归下载时不搜索上层目录,如wget -c -r www.xxx.org/pub/path/没有加参数-np,就会同时下载path的上一级目录pub下的其它文件 (所以一定要加上这个参数,不然会下载太多东西的)-k 将绝对链接转为相对链接,下载整个站点后脱机浏览网页,最好加上这个参数-L 递归时不进入其它主机,如wget -c -r www.xxx.org/-p 下载网页所需的所有文件,如图片等-A 指定要下载的文件样式列表,多个样式用逗号分隔

至于最后的--http-user=CS374-2011 --http-passwd=AlgorithmsInBiology 就是登录该课程网站需要的用户名和密码

是不是很好用呀,赶快去试一试吧

本文分享自微信公众号 - 生信技能树(biotrainee),作者:jimmy

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-12-31

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【生信菜鸟经】如何系统入门R语言

    写在前面 R语言不仅在生物信息数据处理中发挥着重要作用,也是其它主流数据处理人士的首选工具。现在非常多自学生物信息学的小伙伴必须学的就是R,所以写一个R的系统性...

    生信技能树
  • 生信分析人员如何系统入门python(2019更新版)

    一般来说,使用 Python 做生信有两种情况:一种是专门分析生物学数据(主要是各种组学),以调包为主,日常工作就是熟悉各种包的文档,写各种脚本串联工具分析流程...

    生信技能树
  • broad官网出品的 必须神器 IGV 资料大全,含视频

    虽然官网资料很详细了,但总有人不知道如何开始,所以我还是录制了教学视频: http://v.qq.com/x/page/u0664f1hq2s.html

    生信技能树
  • python wget下载文件

    -P PREFIX 将文件保存在目录(--directory-prefix=PREFIX)

    py3study
  • linux应用之wget命令详解

    wget是linux最常用的下载命令, 一般的使用方法是: wget + 空格 + 要下载文件的url路径

    用户5640963
  • WGet使用指南

    wget是一个从网络上自动下载文件的自由工具。它支持HTTP,HTTPS和FTP协议,可以使用HTTP代理.

    一见
  • Wget 大法wget 指定路径,指定文件名下载

    今天用到了Wget,突然一时间想不起来wget的下载到指定目录是哪个参数了,特地把所有参数都弄来,以防又忘记了。毕竟脚本是写了之后,半年都不用改,坑!

    用户2353021
  • linux的wget命令

    Linux wget是一个下载文件的工具,它用在命令行下。对于Linux用户是必不可少的工具,尤其对于网络管理员,经常要下载一些软件或从远程服务器恢复备份到本地...

    于小勇
  • 从放弃迅雷到自己开发下载工具

    前言 在这个网络带宽飞速增长的年代,下载文件要充分利用好网速就得用到下载工具,比如迅雷、IDM。然而贫穷限制了下载速度,这两个下载软件不花钱毫无体验可言。本...

    程序员宝库
  • 【程序源代码】非常好springboot开发框架

    mall项目是一套电商系统,包括前台商城系统及后台管理系统,基于SpringBoot+MyBatis实现,采用Docker容器化部署。前台商城系统包含首页门户、...

    程序源代码

扫码关注云+社区

领取腾讯云代金券