爬虫多次访问同一个网站一段时间后会出现错误 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
是因为在每次数据传输前客户端要和服务器建立TCP连接,为节省传输消耗,默认为keep-alive,即连接一次,传输多次,然而在多次访问后不能结束并回到连接池中,导致不能产生新的连接
headers中的Connection默认为keep-alive,
将header中的Connection一项置为close
headers = {
'Connection': 'close',
}
r = requests.get(url, headers=headers)
r = requests.get(url, headers=headers)
此时问题解决

本文介绍了解决爬虫在多次访问同一网站后出现的HTTPConnectionPool错误问题。该问题通常由于连接未能正确释放回连接池导致无法创建新连接而引发。通过设置headers中的Connection属性为'close'可以强制关闭连接,从而解决问题。
1万+

被折叠的 条评论
为什么被折叠?



