1
我在使用BeautifulSoup收集特定標記的信息時遇到問題。我想在標籤html之間提取'Item 4'的文本,但下面的代碼獲取與'Item 1'相關的文本。我在做什麼不正確(例如,切片)?BeautifulSoup未提取特定標記文本
代碼:
primary_detail = page_section.findAll('div', {'class': 'detail-item'})
for item_4 in page_section.find('h3', string='Item 4'):
if item_4:
for item_4_content in page_section.find('html'):
print (item_4_content)
HTML:
<div class="detail-item">
<h3>Item 1</h3>
<html><body><p>Item 1 text here</p></body></html>
</div>
<div class="detail-item">
<h3>Item 2</h3>
<html><body><p>Item 2 text here</p></body></html>
</div>
<div class="detail-item">
<h3>Item 3</h3>
<html><body><p>Item 3 text here</p></body></html>
</div>
<div class="detail-item">
<h3>Item 4</h3>
<html><body><p>Item 4 text here</p></body></html>
</div>
我接收此錯誤:AttributeError的: 'NoneType' 對象沒有屬性 '文本',其被鏈接到這個 - tag.h3.text。 –
你是如何加載html_source的?在我的例子中,我使用了你提供的源代碼......但是在一個真正的問題中,你可以使用's = requests.get(url)之類的東西。文本「來加載html源碼 –
是的,我正在刮一個真正的頁面。我可以從位於div class =「detail-item」標籤內的h2標籤中提取文本,但不能提取h3標籤下的文本。這裏是我用於獲取頁面內容的一行 - itemSoupParser = BeautifulSoup(raw_html,'html.parser')。我能夠從頁面中獲取所有內容,但h3文本內容除外。 –