根据“美丽汤”中的文本选择元素

时间:2018-08-07 17:39:26

标签: python beautifulsoup

我报废了一个网站,但我想根据其中写的文字找到一个元素。假设下面是该网站的示例代码:

code = bs4.BeautifulSoup("""<div>
<h1>Some information</h1>
<p>Spam</p>
<p>Some Information</p>
<p>More Spam</p>
</div>""")

我想要某种方法来获取具有文本值Some Information p 元素。如何选择这样的元素?

2 个答案:

答案 0 :(得分:0)

只需使用text参数:

code.find_all("p", text="Some Information")

如果只需要第一个元素,而不是使用find而不是find_all

答案 1 :(得分:0)

您可以使用text搜索所有与字符串匹配的标签

import BeautifulSoup as bs
import re
code = bs.BeautifulSoup("""<div>
<h1>Some information</h1>
<p>Spam</p>
<p>Some Information</p>
<p>More Spam</p>
</div>""")


for elem in code(text='Some Information'):
    print elem.parent