今天跑了一下之前写的额爬虫,发现频繁执行时会报出一个超过最大连接数的问题。
网上查了一下,
原因是http连接太多没有关闭导致的。
通俗来说就是每次爬取时建立一个HTTP连接,但是这个http连接没有结束,又新建了连接。
解决办法:
1、增加重试连接次数
requests.adapters.DEFAULT_RETRIES = 5
2、关闭多余的连接
requests使用了urllib3库,默认的http connection是keep-alive的,requests设置False关闭。
s = requests.session()
s.keep_alive = False