【问题标题】:python scraping error AttributeError: 'NoneType' object has no attribute 'text'python抓取错误AttributeError:'NoneType'对象没有属性'text'
【发布时间】:2023-03-03 05:01:24
【问题描述】:

我正在用漂亮的汤做 python 抓取,我正在抓取的网站有一个 28 个容器,其中包含标题、链接和文本,文本在 <p>tag 中,我的问题是我可以抓取所有数据但一些 @987654322 @标签没有文字,所以我收到一个错误 "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>标签都有文本,但它给我错误,如何解决这个问题?

【问题讨论】:

    标签: beautifulsoup scrapy web-crawler mechanize


    【解决方案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))
    

    【讨论】:

    • 效果很好,可以在 except 子句中打印“No-Description”吗?
    猜你喜欢
    • 2019-07-18
    • 1970-01-01
    • 2019-01-10
    • 1970-01-01
    • 2021-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多