Web数据爬虫使用线程池发送大量请求报错:HTTPConnectionPool (host:XX)Max retries exceeded with url

鳄鱼君

发表文章数:525

Vieu四代商业主题

高扩展、安全、稳定、响应式布局多功能模板。

¥69 现在购买
首页 » Python教程 » Web数据爬虫使用线程池发送大量请求报错:HTTPConnectionPool (host:XX)Max retries exceeded with url
问题:往往在发送大量请求的时候,经常会报出这样一个错误:HTTPConnectionPool (host:XX)Max retries exceeded with url
 
原因:
1、每次数据传输前客户端要和服务器建立TCP连接,为节省传输消耗,默认keep-alive,即连接一次,传输多次。如果连接迟迟不断开的话,连接池满后无法产生新的链接对象,导致请求无法发送。
2、ip被封
3、请求频率太高
 
解决:
1、设置请求头中的Connection的值为close,表示每次请求成功之后断开连接。
2、更换请求ip
3、每次请求之前使用sleep设置等待间隔
Web数据爬虫使用线程池发送大量请求报错:HTTPConnectionPool (host:XX)Max retries exceeded with url

修改Connection为close,默认为keep-alive,这个你自己随便找个网址看一下,基本都是keep-alive。我们需要修改为close:

headers={
    "Connection":"close",
    "User-Agent":"Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)"
}

未经允许不得转载:作者:鳄鱼君, 转载或复制请以 超链接形式 并注明出处 鳄鱼君
原文地址:《Web数据爬虫使用线程池发送大量请求报错:HTTPConnectionPool (host:XX)Max retries exceeded with url》 发布于2020-05-08

分享到:
赞(0) 赏杯咖啡

评论 抢沙发

4 + 6 =


文章对你有帮助可赏作者一杯咖啡

支付宝扫一扫打赏

微信扫一扫打赏

Vieu4.6主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。
切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录
切换登录

注册