提取特定 a 标签后的文本

Extracting text following a specific a-tag

我在使用 python 从 html 代码中提取文本时遇到问题。代码如下所示:

<div class="...">
<br/><a href="link1.html" title="title1">anchor1</a>text1
<br/><a href="link2.html" title="title2">anchor2</a>important text to extract
<br/><a href="link3.html" title="title3">anchor3</a>text3
...
</div>

我只想提取特定 link 之后的文本。我知道 anchor2 中的一些单词。因此,用 beautiful soup 4 提取 a-tags 之间的内容不是问题。但是在搜索了很多之后,我没有找到只提取我重要的 a-tag 后面的文本的解决方案。

我希望有人有想法。

找到 link,例如,按标题并得到 next_sibling:

from bs4 import BeautifulSoup


data = """
<div class="...">
<br/><a href="link1.html" title="title1">anchor1</a>text1
<br/><a href="link2.html" title="title2">anchor2</a>important text to extract
<br/><a href="link3.html" title="title3">anchor3</a>text3
...
</div>
"""

soup = BeautifulSoup(data)
print soup.find('a', title='title2').next_sibling

打印:

important text to extract