python 从bs4.element.ResultSet中提取元素

aiqt4smr  于 2022-10-30  发布在  Python
关注(0)|答案(2)|浏览(714)

我希望从这个bs4中提取两个数值。

forecast = [<div class="cell "><span>1.2</span><span class="m-unit"></span> - <span>2.0</span><span class="m-unit"></span></div>,
 <div class="cell "><span>1.5</span><span class="m-unit"></span> - <span>2.6</span><span class="m-unit"></span></div>,

您知道如何将它们直接集成到 Dataframe 中吗?

forecast[1].contents[3]

但对于从预测bs4元素中提取所有数值来说,它并不可靠。

q35jwt9p

q35jwt9p1#

如果模式始终相同,且未出现其他偏差,则可遵循以下步骤:

pd.DataFrame([e.text.split('-') for e in forcast])

**注:**为了获得可靠的结果,调查问卷中需要提供更详细的信息。

示例

from bs4 import BeautifulSoup
import pandas as pd

html = '''<div class="cell "><span>1.2</span><span class="m-unit"></span> - <span>2.0</span><span class="m-unit"></span></div>
<div class="cell "><span>1.5</span><span class="m-unit"></span> - <span>2.6</span><span class="m-unit"></span></div>'''

soup = BeautifulSoup(html)

forcast = soup.select('div')

pd.DataFrame([e.text.split('-') for e in forcast])
输出

| | 第0页|一个|
| - -|- -|- -|
| 第0页|1.2分|2个|
| 一个|1.5分|二点六|

wa7juj8i

wa7juj8i2#

谢谢HedgeHog,这太完美了!

相关问题