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のテキストコンテンツ以外のすべてのページを取得できます。 –