python scraping error AttributeError: 'NoneType' object has no attribute 'text'

python scraping error AttributeError: 'NoneType' object has no attribute 'text'

我正在做python scraping with beautiful soup,我正在抓取的网站有一个 28 容器,带有标题,link 和文本,文本在 <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))