curl 抓取网页(块传输编码(ChunkedTransfer)改变消息主体(图) )
优采云 发布时间: 2021-09-22 07:06curl 抓取网页(块传输编码(ChunkedTransfer)改变消息主体(图)
)
块传输代码
chunked编码更改消息正文使消息正文(消息正文,消息正文与实体身体不同,并且将引入以下章节)块传输。每个块都有自己的尺寸(大小)指示器,它立即成为所有块之后收录实体头的可选剪辑。这允许发送传输以动态生成内容,并且可以携带有用的信息,这允许收件人确定消息是否完整。
4、 curl可以支持在指定要下载的链接时支持URL的序列或集合,并且WGET不能像这样。
5、 wget支持递归下载,卷曲没有此功能。
二、网站 crawling实例
爬网页面,分为URL URL和代理代理。以百度主页为例。
1、 url url方法爬网
(1) curl下载百度归属页面内容,保存在百度_html文件中
curl http://www.baidu.com/ -o baidu_html
(2) wget下载百度家庭内容,保存在Baidu_html文件中
wget http://www.baidu.com/ -O baidu_html
有时,由于网络速度/数据包丢失/服务器停机/等等,有必要临时下载网页。此时,您可能需要多次发送连接,请求服务器响应;如果您仍然没有回复,则可以确认服务器存在问题。
(1) curl多次尝试
curl --retry 10 --retry-delay 60 --retry-max-time 60 http://www.baidu.com/ -o baidu_html
注意:--retry表示重试次数; - 延迟指示两个重试之间的间隔(单位:秒); - 重试 - 最大时间意味着超时。
curl -y 60 -Y 1 -m 60 http://www.baidu.com -o baidu_html
注意:-y表示测试网络的时间; - 我表示停止传输速度的限制(单位:字节/秒); - m表示最大连接时间,超出连接自动断开连接以放弃连接
(2) wget多次尝试
wget -t 10 -w 60 -T 30 http://www.baidu.com/ -O baidu_html
注意:-t(-tries)表示扭转数量; -w表示两次重试之间的时间间隔; - t表示链接超时。
2、代理代理爬网
代理代理下载,是间接通过连接中间服务器下载URL网页的过程,而不是URL直接连接网站 Server下载。这里的代理使用12 7.0.0. 1:8080来测试。
(1) curl捕获百度家“
curl -x 127.0.0.1:8080 -o baidu_html http://www.baidu.com
注意:-x表示代理服务器(IP:端口),端口频率为80,8080,8086,8888,3128等,默认为80,即卷曲首先连接到代理服务器12 7.0.0. 1:8080,然后下载百度主页,最后12 7.@@@ @ 1:8080通过下载的百度家卷曲到本地
(2) wget通过代理商抓住百度家
通过代理下载,使用curl也不是,您需要设置http_proxy = IP:端口
代理服务器的
首先。
以Ubuntu为例,在当前用户目录(CD〜)中,创建一个新的WGet配置文件(.wgetrc),输入代理配置:
http_proxy=127.0.0.1:8080
然后输入WGET CRAWLER命令:
wget http://www.baidu.com -O baidu_html