【Python3爬虫错误】:ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接?解决办法

出现问题描述及分析:

最近做爬虫是,经常出现ConnectionResetError: [WinError 10054] 等错误,主要是因为使用urlopen方法太过频繁,引起远程主机的怀疑,被网站认定为是攻击行为,导致urlopen()后,request.read()一直卡死在那里,导致最后抛出10054异常。
【Python3爬虫错误】:ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接?解决办法_第1张图片

具体解决办法:

1、设置sleep()等待一段时间后继续下面的操作【简单常用】
import time

time.sleep(t)
2、在request后面写入一个关闭的操作
response.close()
3、设置socket默认的等待时间,在read超时后能自动往下继续跑
socket.setdefaulttimeout(t_default)
4、防止循环时某一个请求失败导致循环退出,从而程序退出【常用】

抛出异常,保存日志或者重新请求,或者加请求超时。=

                try:
                    html = requests.get(pic, headers=Hostreferer, timeout=15)
                    print('成功')
                except requests.exceptions.RequestException as e:
                    print(e)
                    print('失败')
                    continue

具体例子:

1、使用Python爬取妹子网的图片,批量下载,附带源码,超详细

2、爬虫实例源码下载,修改目录直接能运行

更多内容参考:
Python爬虫学习汇总(持续更新)

你可能感兴趣的:(python)