使用wget下载抓取保存整个网站所有内容

有时候,某个网站有令人感兴趣的东西,我们希望抓下这个网站在没有网络的时候也能浏览,或者希望写程序分析网站内容信息。这种情况下,我们会希望将整个网站的内容保存在本地。

对于这种需求,大多数人会搜索一个有图形界面的软件,通过设置配置,点击运行。

但是,我们有更方便的方式,就是用 Linux、MacOSX 自带的著名的 wget 命令行工具。Windows 用户也可以找到可以在 windows 下运行的 wget 工具,比如下载个 git bash,其中带有 wget。

那怎么运行才能保存整个站点呢?下面先给出示例:

wget --mirror --no-parent --continue http://网站地址

--mirror 其实表达了三个选项:-r -N -l inf --no-remove-listing,其中

-r 表示下载所给地址目录下的所有网页
-N 表示保存下载网页的最近修改时间,下次再运行的时候,当网页内容没有改变时,不用再次下载
-l inf 表示下载目录下无穷多层数的网页
--no-remove-listing 用于ftp下载,对于我们现在下载网站的场景没有特别的用处

--no-parent 表示不下载包含了网站地址之外的链接

--continue 表示如果下载被中断,其中有一个文件因为只有下载到一半,所以损坏了,这个参数会下载这个文件没下载完的部分补上。这个参数是说单个文件的继续下载,不能理解成网站下载到一半中断,重新开始时下载剩余的页面。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Ubuntu18.04 systemd 设置服务异常退出自动重启
Previous post
Ubuntu 18.04 mysql 重新安装
Next post