Python 使用BeautifulSoup查找具有特定子级的元素
使用BeautifulSoup,如何访问子级具有特定div的Python 使用BeautifulSoup查找具有特定子级的元素,python,beautifulsoup,html-parsing,Python,Beautifulsoup,Html Parsing,使用BeautifulSoup,如何访问子级具有特定div的 示例:如何访问文本(即。info@blah.com)在li中,哪个Email作为子div <li> <div>Country</div> Germany </li> <li> <div>Email</div> info@blah.com </li> 国家 德国 电子邮件 info@blah.com 我试着手动操作
示例:如何访问文本(即。info@blah.com)在li
中,哪个Email
作为子div
<li>
<div>Country</div>
Germany
</li>
<li>
<div>Email</div>
info@blah.com
</li>
国家
德国
电子邮件
info@blah.com
我试着手动操作:在所有
li
上循环,对每一个循环,在所有childdiv
上重新循环,检查文本是否是电子邮件,等等。但我确信有一个更聪明的版本使用BeautifulSoup。有多种方法来解决这个问题
一个选项是通过文本定位电子邮件div并获取:
您的问题是关于获取整个
部分,该部分在
标记中包含“Email”,对吗?意味着你需要得到以下结果
<li>
<div>Email</div>
info@blah.com
</li>
或者如果你需要”info@blah.com“因此,您需要执行以下操作
soup.find("div", text="Email").parent
soup.find("div", text="Email").next_sibling
如果你只有一个div有“Email”内容,你可以这样做
soup.find("div", text="Email").find_parent('li')
soup.find("div", text="Email").find_parent('li')