簡體   English   中英

Python-AttributeError:“ NoneType”對象沒有屬性“ get_text”

[英]Python - AttributeError: 'NoneType' object has no attribute 'get_text'

我正在關注bs4的一些教程。 我正在嘗試使用'a'的以下示例進行get_text()。 教程返回結果McDermott International和MDR毫無問題。 但是,當我得到AttributeError時:'NoneType'對象沒有屬性'get_text'。 請幫忙。 非常感謝!

with open('Energy.htm') as f:
    soup = BeautifulSoup(f,"lxml")
energylist = soup.find_all('td', {"style" : "text-align:left;"})
for stock in energylist:
    try:
        stock_name = stock.find('a').get_text()
    except:
        stock_name = ''

#sample of the energylist
[<td style="text-align:left;">
<a href="/finance?q=NYSE:MDR&amp;ei=nblKWaDrOs7AmgH0l7S4Bg">McDermott 
International</a>
</td>, <td style="text-align:left;">
<a href="/finance?q=NYSE:MDR&amp;ei=nblKWaDrOs7AmgH0l7S4Bg">MDR</a>
</td>, <td style="text-align:left;">
<a href="/finance?q=NYSE:EQT&amp;ei=nblKWaDrOs7AmgH0l7S4Bg">EQT</a>
</td>, <td colspan="8" style="text-align:left;">
Companies <b>1 - 20</b> of about <b>476</b> in <b>Energy</b> 
</td>]

似乎energylist包含一些不包含錨標簽的標簽。 您需要添加一個條件來妥善處理這些條件:

for stock in energylist:
    try:
        stock_name = stock.find('a').get_text()
        ... # more code
    except AttributeError:
        pass

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM