BeautifulSoup find_all()AttributeError:“非类型”对象没有属性“a”

2024-06-16 11:50:26 发布

您现在位置:Python中文网/ 问答频道 /正文

当我执行soup.find()方法时,我得到了我想要的结果,这是当我尝试循环并在出错时使用find_all()时得到的结果

 source = requests.get('https://www.mononews.gr/').text
 soup = BeautifulSoup(source,'lxml')

 find  = soup.find_all('section',class_="story-package-module")
 for article in find:
    
    #headline
    headline = article.h3.a.text
    print(headline)

    #link
    link =article.h3.find('a',class_="story-package-module__story__headline-link")['href']
    print(link)
    
    print()

它打印两个结果,然后抛出一个错误,如下所示:

Χρηματιστήριο: Τι δεν έχει τιμολογήσει ακόμα η αγορά – Δεν φτάνει η αντίδραση της Aegean    
https://www.mononews.gr/agores/chrimatistirio-ti-den-echi-tmologisi-akoma-i-agora-den-ftani-i-antidrasi-tis-aegean


Κάναμε σκι με CR-V (video)! 
https://www.mononews.gr/auto/kaname-ski-me-crv-video


Kαραμανλής: Έγινε το πρώτο βήμα για την επέκταση του Μετρό παράλληλα με την λεωφόρο Κηφισίας 
https://www.mononews.gr/oikonomia/karamanlis-egine-to-proto-vima-gia-tin-epektasi-tou-metro-parallila-me-tin-leoforo-kifisias

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-92-391906396ad6> in <module>
      7 
      8     #headline
----> 9     headline = article.h3.a.text
     10     print(headline)
     11 

AttributeError: 'NoneType' object has no attribute 'a'

我只想用下面的链接打印所有的文章标题。 如有任何建议,将不胜感激


Tags: texthttpswwwarticlelinkallfindh3
1条回答
网友
1楼 · 发布于 2024-06-16 11:50:26
for article in find:
    try:
        
        headline = article.h3.a.text
        print(headline)
        link =article.h3.a['href']
        print(link)
        print()
    except AttributeError:
        pass
            

您可以使用tryexcept块。它出版了24篇文章

相关问题 更多 >