用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)

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

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Seebug漏洞平台

前端防御从入门到弃坑——CSP变迁

对于一个基本的XSS漏洞页面,它发生的原因往往是从用户输入的数据到输出没有有效的过滤,就比如下面的这个范例代码。

42711
来自专栏编程

左手用R右手Python系列——使用多进程进行任务处理

数据抓取中的密集任务处理,往往会涉及到性能瓶颈,这时候如果能有多进程的工具来进行支持,那么往往效率会提升很多。 今天这一篇分享在R语言、Python中使用调用多...

2148
来自专栏编程

在Linux中,一切都是文件

每个人都知道一个文件是什么...这就是你使用的“照片”,“文档”或“音乐”。程序是由文件组成的,实际上,整个Linux操作系统只是一个文件集合...但是,现在是...

19110
来自专栏Java技术

缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题!

前面一节说到了《为什么说Redis是单线程的?》,今天给大家整理一篇关于Redis经常被问到的问题:缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等概念的入门...

1771
来自专栏沈唁志

WordPress有新评论微信提醒管理员

2164
来自专栏繁花云

利用Speedtest测试服务器网速

speedtest是由国外用户sivel编写的一款跨平台的网速测试软件,使用GO编写,支持大部分平台

2630
来自专栏北京马哥教育

记一次python脚本的编写过程

因工作需求要写一个python脚本,来测试memcache服务器。 因为第一次写python脚本在线上运行,所以不敢大意。而又因为我自己看着python教程自学...

3595
来自专栏小狼的世界

Awstats性能问题及其他工具的对比分析

在之前的一篇文章中,我通过资料的查阅分析了一些比较流行的日志分析工具,最后选用了 Awstats + Jawstats 的组合,既能够对现有的日志进行分析,也能...

1256
来自专栏北京马哥教育

corosync+pacemaker高可用集群

一、简介 高可用集群,是指以减少服务中断(如因服务器宕机等引起的服务中断)时间为目的的服务器集群技术。简单的说,集群就是一组计算机,它们作为一个整体向用户提供一...

48715
来自专栏晨星先生的自留地

SSRF漏洞详解

3304

扫码关注云+社区