作为从Craigslist抓取数据的项目的一部分,我包括图像抓取。我在测试中注意到有时连接会被拒绝。有没有办法解决这个问题,还是需要在我的代码中纳入错误捕获功能?我记得twitter API限制了查询,因此并入了一个睡眠计时器。我是否对Craigslist有同样的情况感到好奇。请参见下面的代码和错误。
#loops through each image and stores it in a local folder
for img in soup_test.select('a.thumb'):
imgcount += 1
filename = (pathname + "/" + motoid + " - "+str(imgcount)+".jpg")
with open(filename, 'wb') as f:
response = requests.get(img['href'])
f.write(response.content)
ConnectionError:HTTPSConnectionPool(host ='images.craigslist.org',port = 443):url超过了最大重试次数:/00707_fbsCmug4hfR_600x450.jpg(由NewConnectionError(':导致:无法建立新连接:[WinError 10061]无法建立连接,因为目标计算机主动拒绝了它'))
我对此行为有2个问题。
CL服务器是否有任何规则或协议,例如在特定时间范围内阻止第n个请求?
是否可以在拒绝连接后暂停循环?还是我只是合并了错误捕获功能,以使它不会停止我的程序?