从 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'])