wget 指令学习之递归抓取文档技巧
在线上阅读文档的时候,有没有想将它抓取到本地,以备没有网的时候阅读只需?
先上指令:
$ wget --user-agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/53.0.2785.143 Chrome/53.0.2785.143 Safari/537.36" -p -np -k -r --wait=1 http://www.tornadoweb.org/en/stable/
你会看到如下的页面:
过段时间,就会抓取完成,并在本地生成了一个相关联的目录。
这个命令就是 wget。它是开发者在Linux下面非常喜欢使用的下载指令。经常,我们会看到一些技术文档在指导你下载安装包的时候,也会用到,比如: wget xxx.tar.gz 之类的。
我们可以通过 man wget 或 wget -h 来查阅 wget 的参数。下面挑出几个常用的参数介绍下。
HTTP 相关的:
--http-user=USER 设置 http 用户名为 USER。
--http-password=PASS 设置 http 密码为 PASS。
--no-cache 不在服务器上缓存数据。
-U, --user-agent=AGENT 标识为 AGENT 而不是 Wget/VERSION。
--no-http-keep-alive 禁用 HTTP keep-alive (永久连接)。
--no-cookies 不使用 cookies。
--load-cookies=FILE 会话开始前从 FILE 中载入 cookies。
--save-cookies=FILE 会话结束后保存 cookies 至 FILE。
--keep-session-cookies 载入并保存会话 (非永久) cookies。
--post-data=STRING 使用 POST 方式;把 STRING 作为数据发送。
--post-file=FILE 使用 POST 方式;发送 FILE 内容。
--content-disposition 当选中本地文件名时
允许 Content-Disposition 头部 (尚在实验)。
--auth-no-challenge 发送不含服务器询问的首次等待
的基本 HTTP 验证信息。
下载相关的:
-w, --wait=SECONDS 等待间隔为 SECONDS 秒。
--waitretry=SECONDS 在获取文件的重试期间等待 1..SECONDS 秒。
--random-wait 获取多个文件时,每次随机等待间隔
0.5*WAIT...1.5*WAIT 秒。
-O --output-document=FILE 将文档写入 FILE。
递归下载:
-r, --recursive 指定递归下载。
-p, --page-requisites 下载所有用于显示 HTML 页面的图片之类的元素。
-k, --convert-links 让下载得到的 HTML 或 CSS 中的链接指向本地文件。
-np, --no-parent 不追溯至父目录。
原文网址 http://www.cnblogs.com/scharfsinnig/p/6707859.html
参考文档:
http://linux.51yip.com/search/wget