最近做爬虫是,经常出现ConnectionResetError: [WinError 10054] 等错误,主要是因为使用urlopen方法太过频繁,引起远程主机的怀疑,被网站认定为是攻击行为,导致urlopen()后,request.read()一直卡死在那里,导致最后抛出10054异常。
import time
time.sleep(t)
response.close()
socket.setdefaulttimeout(t_default)
抛出异常,保存日志或者重新请求,或者加请求超时。=
try:
html = requests.get(pic, headers=Hostreferer, timeout=15)
print('成功')
except requests.exceptions.RequestException as e:
print(e)
print('失败')
continue
更多内容参考:
Python爬虫学习汇总(持续更新)