从 HTML Python 中提取文本(BeautifulSoup,RE,其他选项?)
Extract Text from HTML Python (BeautifulSoup, RE, Other Option?)
我熟悉 BeautifulSoup 和正则表达式作为从 HTML 中提取文本的一种方式,但不熟悉其他方式,例如 ElementTree、Minidom 等
我的问题很简单。鉴于下面的 HTML 片段,哪个库最适合提取下面的文本?文本是整数。
<td class="tl-cell tl-popularity" data-tooltip="7,944,796" data-tooltip-instant="">
<div class="pop-meter">
<div class="pop-meter-background"></div>
<div class="pop-meter-overlay" style="width: 55%"></div>
</div>
</td>
使用 BeautifulSoup
是相当简单的:
from bs4 import BeautifulSoup
data = """
<td class="tl-cell tl-popularity" data-tooltip="7,944,796" data-tooltip-instant="">
<div class="pop-meter">
<div class="pop-meter-background"></div>
<div class="pop-meter-overlay" style="width: 55%"></div>
</div>
</td>
"""
soup = BeautifulSoup(data)
print(soup.td['data-tooltip'])
如果您有多个 td
元素并且您需要从每个元素中提取 data-tooltip
:
for td in soup.find_all('td', {'data-tooltip': True}):
print(td['data-tooltip'])
我熟悉 BeautifulSoup 和正则表达式作为从 HTML 中提取文本的一种方式,但不熟悉其他方式,例如 ElementTree、Minidom 等
我的问题很简单。鉴于下面的 HTML 片段,哪个库最适合提取下面的文本?文本是整数。
<td class="tl-cell tl-popularity" data-tooltip="7,944,796" data-tooltip-instant="">
<div class="pop-meter">
<div class="pop-meter-background"></div>
<div class="pop-meter-overlay" style="width: 55%"></div>
</div>
</td>
使用 BeautifulSoup
是相当简单的:
from bs4 import BeautifulSoup
data = """
<td class="tl-cell tl-popularity" data-tooltip="7,944,796" data-tooltip-instant="">
<div class="pop-meter">
<div class="pop-meter-background"></div>
<div class="pop-meter-overlay" style="width: 55%"></div>
</div>
</td>
"""
soup = BeautifulSoup(data)
print(soup.td['data-tooltip'])
如果您有多个 td
元素并且您需要从每个元素中提取 data-tooltip
:
for td in soup.find_all('td', {'data-tooltip': True}):
print(td['data-tooltip'])