2017-01-29 23 views
1

BeautfulSoupを使用して特定の文字列の後に来る最初の文字列を見つける方法はありますか?BeautifulSoupを使用して特定の文字列の後に来る最初の文字列を見つける

私は、HTMLファイル内のこのテキストがあります。文字列:私は「大陸」の後に来る最初の文字列を取得することにより、その「北米」の外にフェッチしたいと思います

<tr> 
<th scope="row">Continent:</th> 
<td>North America</td> 
</tr> 
<tr> 

を。

どうすればいいですか?

はところで、私はそれを得るための別の方法を見つけましたが、私はもっと簡単な方法を探しています:

continent_tag = soup.find('th', string='Continent:') 
print continent_tag.parent.contents[3].contents[0] 

おかげで、

Moty

答えて

1

要素は別の、兄弟であるので、隣接するtd兄弟要素を選択するために.find_next_sibling() methodを使用することです。

print(soup.find('th', string='Continent:').find_next_sibling('td').text) 
# North America 
関連する問題