>我正在用漂亮的汤做蟒蛇刮,我正在抓取的网站有一个 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)
它<p>
标签文本打印 5 次,因为并非所有<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))