pytho爬虫经常报错错误 Traceback (most recent call last) 错误信息

解读错误信息就可以定位错误。
Traceback (most recent call last):
这是错误的跟踪信息。

File "XXX.py", line 13, in <module>
f3('0')

调用f3()出错了,错误出现在文件XXX.py的第13行代码,错误来源第9行:

File “XXX.py”, line 12, in f3

return f2(s)+1

调用f2()出错了,错误出现在文件XXX.py的第12行代码,错误来源第8行:

== File “XXX.py”, line 8, in f2 ==

return f1(s)+1

调用f1()出错了,错误出现在文件XXX.py的第8行代码,错误来源第4行:

==File “XXX.py”, line 4, in f1 ==

return 1 / int(s)

return 1 / int(s)出错了,找到了错误的源头。

== ZeroDivisionError: division by zero==

这是错误类型。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

原因

当用快速爬取某网站出现经常出现Traceback (most recent call last):的错误,也就是连接失败。原因首先是快速爬取连接时网络不稳定造成的。
一般解决方案:
加入判断函数

def getHTMLText(url):
    maxTryNum = 20
    for tries in range(maxTryNum):
        try:
            kv = {"user-agent": "Mizilla/5.0"}
            response = requests.get(url, headers=kv, timeout=10)
            return response.text
        except:
            if tries < (maxTryNum - 1):
                continue
            else:
                print("Has tried %d times to access url %s, all failed!" % (maxTryNum, url))
                break
原文地址:https://www.cnblogs.com/AmosAlbert/p/12832353.html