博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
scrapy爬虫时HTTPConnectionPool(host:XX)Max retries exceeded with url 解决方法
阅读量:6837 次
发布时间:2019-06-26

本文共 719 字,大约阅读时间需要 2 分钟。

hot3.png

问题1:爬虫多次访问同一个网站一段时间后会出现错误 HTTPConnectionPool(host:XX)Max retries exceeded with url '<requests.packages.urllib3.connection.HTTPConnection object at XXXX>: Failed to establish a new connection: [Errno 99] Cannot assign requested address'

原因:是因为在每次数据传输前客户端要和服务器建立TCP连接,为节省传输消耗,默认为keep-alive,即连接一次,传输多次,然而在多次访问后不能结束并回到连接池中,导致不能产生新的连接
解决:headers中的Connection默认为keep-alive,将header中的Connection一项置为close

headers = {

    'Connection': 'close',
}
r = requests.get(url, data=formdata, headers=headers)

参考:

问题2:爬虫多次访问同一个网站一段时间后会出现错误 HTTPConnectionPool:read time out

原因:具体原因还不清楚,如果有人看到并且了解原因,希望可以留言互相学习。

解决:把原来 requests.get(url, data=formdata, headers=headers, timeout=0.2)中的timeout改为0.3

转载于:https://my.oschina.net/u/3636678/blog/2252735

你可能感兴趣的文章
第11课--11_04_Linux网络配置之四 ifconfig及ip命令详解
查看>>
Linux命令之grep/sed/awk等行转列
查看>>
3.1 账户管理
查看>>
MySQL 多张表合并成一张表
查看>>
朋友圈广告投放优势及广告投放案例分享
查看>>
vivo Z3的Usb调试模式在哪里,开启vivo Z3Usb调试模式的教程
查看>>
能够让你提升的九个 Python 小技巧
查看>>
css3 greyscale实现去色 css3实现图片或页面变为黑白效果
查看>>
默认路由的配置
查看>>
AJPFX辨析Java中运算符 ++ 和 += 的区别
查看>>
如何在CAD中提取图纸上标注的内容
查看>>
weblogic Java反序列化漏洞测试和解决
查看>>
我的友情链接
查看>>
svn高可用集群搭建
查看>>
python_day8のSocket
查看>>
js 小数取整函数
查看>>
乾颐堂数通HCIE面试真题5,欢迎参阅
查看>>
Python3使用多进程和多线程的方式检查网络状态
查看>>
手动构建CL210环境——packstack部署vlan模式
查看>>
随机生成UserAgent的python库(fake-useragent库)
查看>>