如何使用wget获取整个网站的全部内容

个人博客alvincr.com,本文是https://alvincr.com/2021/01/static_github_pages/一文的部分内容

我用过wget命令爬取整个网站,还算好用。

命令:wget https://alvincr.com/2021/01/can-not-login-in-backstage/

完整命令:wget -c -r -np -p -H -k https://alvincr.com/2021/01/can-not-login-in-backstage/ (千万别复制测试)(另:请大家学习爬取的时候,请对我的网站手下留情,服务器撑不住爬取整个网站)

wget -c -p -H -k https://alvincr.com/2021/01/can-not-login-in-backstage/

参数说明:

-c用于断点传输,对于较小的网页没必要

-r 递归下载,慎用,建议与np一起使用

-np 递归下载是不搜索上层目录

-p 下载网页所需要的所有文件(图片,js脚本,css)

-k 将绝对路径转化为相对路径,-k与-p一同使用保存到其它服务器上不会占用自己服务器的资源

提醒

完整命令:wget -c -r -np -H -k https://alvincr.com/2021/01/can-not-login-in-backstage/ (千万别复制)

后果如下:如果真的出现这种后果,建议使用mv命令将该文件夹移动到其它地方暂存,确定不需要再删除。

经过我测试发现,产生如此大量文件的原因是递归下载,并非是-p下载网页所需所有文件。使用-p参数最终只生成4个文件夹,注意这里的html文件是残留文件,代码返回报告考研看出并没有下载index.html这个文件。

 

wget是一个强大的网络文件下载工具,它可以用来下载整个网站的内容,包括HTML、CSS、JavaScript、图片等。要使用wget下载整个网站,通常需要按照以下步骤操作: 1. **获取URL**:首先确定你要下载的网站的主URL。 2. **访问目录结构**:有些网站会提供一个名为`sitemap.xml`或`sitemap.txt`的文件,列出所有网页链接。如果没有,你可以在浏览器中打开网站的根目录(通常是域名)并查看源代码找到页面链接。 3. **创建下载命令**:使用wget下载每个链接。例如,如果你已经知道了部分链接,可以这样写: ``` wget [网址] -r -np -nH --cut-dirs=1 --reject="index.html*" --mirror ``` 这里的参数含义: - `-r` 表示递归下载子目录中的内容。 - `-np` 阻止wget进入父级目录。 - `-nH` 不保留符号链接。 - `--cut-dirs=1` 去除第一个目录层级,让下载后的内容直接放在当前目录下。 - `--reject` 可以排除不需要下载的文件类型,如指定不下载`.html`以外的文件。 - `--mirror` 全面镜像网站,包含所有的静态资源。 4. **执行下载**:保存上述命令到一个文件(如download.sh),然后用`chmod +x download.sh`使它可执行,并运行`./download.sh`开始下载。 注意,这可能会消耗大量时间和带宽,而且不是所有网站都支持被下载,有些可能设置为不允许爬虫抓取。因此,在实际操作前,请务必遵守网站的robots.txt规则和使用条款。另外,如果你关心隐私,可能需要检查网站是否收集个人信息以及下载内容是否存在版权问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值