如何忽略<span class="label-negative"并获取<span style="color: #3F8539">#A9CF54中的文本百分比值?

screenshot of output

#url = 'https://www.dotabuff.com/heroes/trends'

cont = soup.find_all("td", attrs = {"r-tab r-group-1 cell-centered"})
cont

推荐答案

要从站点加载表,我建议使用pd.read_html():

from io import StringIO

import pandas as pd

url = "https://www.dotabuff.com/heroes/trends"
headers = {
    "User-Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:120.0) Gecko/20100101 Firefox/120.0"
}

df = pd.read_html(StringIO(requests.get(url, headers=headers).text))[0]
df = (
    df.droplevel(0, axis=1)
    .set_index(("Unnamed: 0_level_1", "Hero"))
    .rename_axis(index=None)
)

print(df.head(10))

打印:

                 Win Rate                       Pick Rate                      
                    Start Current  Change Trend     Start Current  Change Trend
Shadow Demon       46.33%  48.10%  +1.78%   NaN     2.07%   2.37%  +0.30%   NaN
Ember Spirit       49.38%  51.00%  +1.62%   NaN     5.75%   7.08%  +1.32%   NaN
Bane               49.85%  51.15%  +1.30%   NaN     2.46%   2.85%  +0.39%   NaN
Chen               46.70%  47.72%  +1.03%   NaN     1.02%   0.96%  -0.05%   NaN
Nature's Prophet   48.47%  49.45%  +0.98%   NaN    16.80%  17.30%  +0.50%   NaN
Troll Warlord      50.77%  51.73%  +0.96%   NaN     5.37%   5.17%  -0.20%   NaN
Lone Druid         51.32%  52.28%  +0.96%   NaN     3.05%   3.13%  +0.08%   NaN
Disruptor          49.34%  50.25%  +0.91%   NaN     5.86%   6.13%  +0.27%   NaN
Viper              52.77%  53.59%  +0.82%   NaN    12.99%  13.84%  +0.86%   NaN
Lina               45.89%  46.65%  +0.75%   NaN    13.83%  13.81%     NaN   NaN

Python-3.x相关问答推荐

在Python中从mySQL获取多行

Numba编译时间呈指数级增长--可以像C编译器一样配置优化级别吗?

根据第一个字典的值序列对第二个字典进行排序

在不使用 split 函数的情况下从字符串中分割逗号(','),句号('.')和空格(' '),将字符串的单词附加到列表中

继承自 Counter 与 dict 的类实例的 Deepcopy

将数据框中的值与另一个数据框中的多列进行比较,以获取条目以有效方式匹配的列表列表

Python3:是否可以将变量用作函数调用的一部分

如何对具有多个列值的 pandas 数据框进行数据透视/数据透视表

获取字符串中的两个工作日之间的差异

numpy是如何添加@运算符的?

有没有办法使用 python opencv 计算与图像的白色距离

如何从脚本中提取 PDF 文档的标题以进行重命名?

解包时是否可以指定默认值?

无法在 Windows Python 3.5 上安装 Levenshtein 距离包

Pythonic,自定义警告

__new__ 方法给出错误 object.__new__() 只接受一个参数(要实例化的类型)

Pylint 给我最后的新行丢失

aiohttp+sqlalchemy:在回滚无效事务之前无法重新连接

AttributeError:系列对象没有属性iterrows

为什么 Python 不能识别我的 utf-8 编码源文件?