2017-01-29 5 views
1

Как я могу найти первую строку, которая приходит после определенной строки с помощью BeautfulSoup?Использование BeautifulSoup для поиска первой строки, которая приходит после определенной строки

У меня есть этот текст в HTML-файле:

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

Я хотел бы извлечь из него «Северной Америки», получив первую строку, которая приходит после того, как «Континент:» строка.

Как я могу это сделать?

BTW, я нашел другой способ, чтобы получить его, но я искал более простой способ:

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

Спасибо,

Moty

ответ

1

Поскольку элементы являются братьями и сестрами, еще вариантом было бы использовать .find_next_sibling() method, чтобы выбрать смежный элемент: td:

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