有没有办法通过使用BeautifulSoup或任何库提取以下html来获取“要提取的数据”内容
<div>
<ul class="main class">
<li>
<p class="class_label">User Name</p>
<p>"Data to be extracted"</p>
</li>
</ul>
</div>
提前感谢您的帮助!! :)
答案 0 :(得分:0)
肯定有多种选择。对于初学者,您可以找到p
class="class_label"
元素并获取next p
sibling:
from bs4 import BeautifulSoup
data = """
<div>
<ul class="main class">
<li>
<p class="class_label">User Name</p>
<p>"Data to be extracted"</p>
</li>
</ul>
</div>
"""
soup = BeautifulSoup(data)
print soup.find('p', class_='class_label').find_next_sibling('p').text
或者,使用CSS selector
:
soup.select('div ul.main li p.class_label + p')[0].text
或者,依赖User Name
文字:
soup.find(text='User Name').parent.find_next_sibling('p').text
或者,依赖于p
标记内li
元素的位置:
soup.select('div ul.main li p')[1].text