2017-09-14 66 views
-2

我想从以下HTMLbeautifulsoup不提取文本

<td headers="th1" style="width: 125px;" valign="top"> 
    <a href="https://www.dibbs.bsm.dla.mil/RFQ/RFQNsn.aspx?value=8415219212510&amp;category=issue&amp;Scope=" title="go to NSN view">8415-21-921-2510</a> 
</td> 

我用

main_page = 'https://www.dibbs.bsm.dla.mil/RFQ/RfqRecs.aspx?category=issue&TypeSrch=dt&Value=09-14-2017' 

dibbssoup = BeautifulSoup(main_page.content, 'html5lib') 
#grabs each rfq 
containers1 = dibbssoup.find_all("tr", {"class": "BgWhite"})    
NSN = container1.find("td", {"headers": "th1"}).a.get_text(strip=True) 

NSN = container1.find("td", {"headers": "th1"}).a.text 

不过我得到这个错误刮8415219212510

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

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

我该如何解决这个错误?

+0

什么是BeautifulSoup对象的实际站点URL? 'container1'是'Tag'吗? –

+1

您已经使用了'containers1',然后是'container1'。 –

+0

无法访问您的链接。 'main_page'是一个字符串。它没有属性'.content'。您需要首先从该网址发出请求。您的代码有足够的拼写错误,难以分辨错别字是否是您错误的罪魁祸首。 –

回答

0

首先,BeautifulSoup不处理任何HTTP交互,您需要为它提供一个下载的HTML文档。为此,您可以使用像requests这样的库。我无法访问您提供的链接,但我希望您能得到正确的想法。

import requests 
from bs4 import BeautifulSoup 

response = requests.get(URL) 
soup = BeautifulSoup(response.content, 'lxml') 
NSN = soup.select_one('a[title*=NSN]').get_text()