0%

python-crawler-problems

爬虫任务中遇到的问题

WinError 10054

ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接

分析原因,是因为使用urlopen方法太过频繁,引起远程主机的怀疑,被网站认定为是攻击行为。导致urlopen()后,request.read()一直卡死在那里。最后抛出10054异常。

urlopen error [WinError 10060]

当用多线程爬取某个网站的数据的时候,爬取一段时间后,总出现urlopen error [errno 10060]的错误,结果线程无端的被挂掉,一开始的解决思路是每次连接的时候换用不同的useragent,结果还是出现这种问题,在网上查了下,看到网上别人的经验,原来是 如果用多个线程爬去某个网站的数据,每次连接完的时候,需要sleep(1)一会,不然该网站服务端的防火墙会ban掉你的connect。so 按照这种解决方法,果然不再出现urlopen error [errno 10060]的异常了。

睡眠等待机制会减少urlopen error [errno 10060]出现的概率,但访问次数多了还是会出现

于是看了网上说法是连接时网络不稳定造成的,于是写了个多次尝试连接的函数