私は次を使用してコンテンツ「私の自宅の住所」を取得しようとしていますが、AttributeErrorを取得しました:
address = soup.find(text="Address:")
print address.nextSibling
これは私のHTMLです:
<td><b>Address:</b></td>
<td>My home address</td>
td
タグを下に移動してコンテンツを取得する良い方法は何ですか?
Bs4を使用する場合は、これを試してください。
print soup.find(string="Address:").find_next('td').contents[0]
findChildren
を使用すると、テーブル内にあると仮定して、テーブル内のtdを簡単に反復処理できます。最初に、理想的にはテーブルを見つけることができます。
table = soup.find('table')
>>> for td in table.findChildren('td'):
...: print td.text
...:
...:
Address:
My home address
または、アドレスを検索して、テーブルコンテナーを取得することもできます。
>>> import re
>>> search = re.compile('Address')
>>> table = soup.find(text=search).parent.parent.parent