Python解决AttributeError: 'NoneType' object has no attribute 'find'问题
在练习爬取小说过程中出现报错:Python解决AttributeError: 'NoneType' object has no attribute 'find'
因是新手,练习爬取时,是从第一章url开始爬取,用while循环在url后加页码的形式爬取,当页爬取完后,page_num += 1,爬取下一页。
详见以下代码:
# 设置尾页
page_num = 4885031
# 设置要请求的网页链接
while page_num < 10161977:
url = 'https://www.ibiquge.la/7/7878/{}.html'.format(page_num)
如果按这样爬取,会出现问题,有可能下一章的url的尾页 不是page_num += 1,就会循环提取不到该网页,从而报错AttributeError: 'NoneType' object has no attribute 'find'。详见下图:
如上图箭头,下一章的尾页不是累加,所以报错。
若要解决,建议:1.解析小说所有章节页;2.获取每章节链接后爬取