我正在用美丽的汤做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>
标记都有文字,但它会给我错误,如何解决此问题?
答案 0 :(得分:1)
您可以尝试以下方式完成任务:
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))