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
posted @ 2017-04-14 11:14  Scharfsinnig  阅读(881)  评论(0编辑  收藏  举报