我正在用漂亮的汤做 python 抓取,我正在抓取的网站有一个 28 个容器,带有标题、链接和文本,文本在<p>
标签中,我的问题是我可以抓取所有数据但有些<p>
标签没有文本,所以我收到了错误"AttributeError: 'NoneType' object has no attribute 'text'"
我的代码是:
containers = page_soup.findAll("div", {"class":"item-container"})
for contain in containers:
title = contain.div.a.h3.text
print("title: "+title)
link = contain.div.a["href"]
print("source: "+link)
des = contain.div.p.text
print("Description: "+des)
它打印了 5 次<p>
标签文本,因为并非所有<p>
标签都有文本,但它给了我错误,如何解决这个问题?
您可以尝试如下完成任务:
for contain in page_soup.find_all("div", {"class":"item-container"}):
title = contain.div.a.h3.text
link = contain.div.a["href"]
try:
des = contain.div.p.text
except:
des = ""
print("title: {}\nlink: {}\ndescription: {}\n".format(title,link,des))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句