使用BeautifulSoup查找在某些字符串之后出现的第一个字符串

时间:2017-01-29 17:17:42

标签: python beautifulsoup

如何使用BeautfulSoup查找某个字符串之后的第一个字符串?

我在HTML文件中有这个文本:

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

我想通过获取'Continent:'字符串之后的第一个字符串来取出它“北美”。

我该怎么做?

顺便说一下,我找到了另一种方法,但我正在寻找一种更简单的方法:

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

谢谢,

Moty

1 个答案:

答案 0 :(得分:1)

由于元素是兄弟元素,另一个选择是使用.find_next_sibling() method来选择相邻的td兄弟元素:

print(soup.find('th', string='Continent:').find_next_sibling('td').text)
# North America