使用BeautifulSoup根据兄弟内容刮取值

时间:2017-01-26 10:05:48

标签: python html web-scraping beautifulsoup

假设我在HTML中有以下格式的代码:

...
<div class="class1">
    <div class="subclass1">Text1</div>
    <div class="subclass2">Text2</div>  
</div>
<div class="class1">
    <div class="subclass1">Text3</div>
    <div class="subclass2">Text4</div>  
</div>
<div class="class1">
    <div class="subclass1">Text5</div>
    <div class="subclass2">Text6</div>  
</div>
...

如何根据Text1

提取Text2

我有几个想法,但都包含复杂的结构,循环和列表与bs系列之间的转换。 有什么想法吗?

1 个答案:

答案 0 :(得分:2)

text2 = soup.find('div', text='Text1').find_next('div').text
           # |-----find div tag-------|-get next div tag-|                 

出:

'Text2'

或:

soup.find('div', text='Text1').next_sibling.next_element.text

不推荐这样做