我在使用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>
我想只提取一个特定链接后面的文本。我知道锚2中的一些词。因此,用漂亮的汤4来提取a-tags之间的内容并不是一个问题。但是经过大量搜索后,我发现没有解决方案只能提取我重要的a-tag后面的文本。
我希望有人有个主意。
答案 0 :(得分:2)
例如,按标题查找链接并获取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