写了一个百度通用爬虫,需要对很多的url进行循环处理,获取url的html,程序逻辑没有问题,但是程序经常跑着跑着就停止不动,不报错,所以一句句加输出,最终发现原来是:
pagetext = urllib.request.urlopen(request,data=None,timeout=15).read()
停止都是在这句 查找资料得知,urlopen()有一个超时参数,当长时间获取不到响应时,则报错,所以结合python异常处理,更改代码如下:
由于url数量较多,在请求了两次无响应则舍弃。