Python : 提取 HTML 内容
Python : Extract HTML content
是否有任何方法可以通过提取以下 html、使用 BeautifulSoup 或任何库
来获取 "Data to be extracted" 内容
<div>
<ul class="main class">
<li>
<p class="class_label">User Name</p>
<p>"Data to be extracted"</p>
</li>
</ul>
</div>
在此先感谢您的帮助!! :)
当然有多种选择。对于初学者,您可以使用 class="class_label"
找到 p
元素并获得 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
是否有任何方法可以通过提取以下 html、使用 BeautifulSoup 或任何库
来获取 "Data to be extracted" 内容<div>
<ul class="main class">
<li>
<p class="class_label">User Name</p>
<p>"Data to be extracted"</p>
</li>
</ul>
</div>
在此先感谢您的帮助!! :)
当然有多种选择。对于初学者,您可以使用 class="class_label"
找到 p
元素并获得 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