我正在尝试抓取此页面以获取表数据:
https://www.bbc.com/sport/football/premier-league/table
但是我最终得到的是网页的不同部分
table_MN = pd.read_html('https://www.bbc.com/sport/football/premier-league/table')
print(f'Total tables: {len(table_MN)}')
df=table_MN
print(df)
不确定您期望什么,但是
pandas.read_html()
对于“原始 HTML”效果很好。只有一些元素(例如团队名称)会被脚本变形,不会出现在您的结果中。
import pandas as pd
df = pd.read_html('https://www.bbc.com/sport/football/premier-league/table')[0]
如果您想删除最后一行,您可以使用
iloc[:-1]
对数据框进行切片
df.iloc[:-1]#.to_excel('file.xlsx', index=False)
注意 *如果您想获取特定信息,例如包含完整团队名称的
<abbr>
的标题,请直接使用bs4抓取表格。 *
未命名:0 | 未命名:1 | 团队 | P | W | D | L | F | A | GD | 分 | 表格 |
---|---|---|---|---|---|---|---|---|---|---|---|
1 | 队伍还没动 | 曼城 | 25 | 20 | 3 | 2 | 61 | 14 | 47 | 63 | 2022年1月1日以2-1战胜阿森纳。2022年1月15日以1-0战胜切尔西。2022年1月22日以1-1战胜南安普顿。2022年2月9日以2-0战胜布伦特福德。2022年2月9日以4-0战胜布伦特福德。 2022 年 2 月 12 日诺维奇城。 |
2 | 队伍还没动 | 利物浦 | 24 | 16 | 6 | 2 | 61 | 19 | 42 | 54 | DD鲁2022年1月2日2-2对阵切尔西。WW2022年1月16日3-0对阵布伦特福德。WW2022年1月23日3-1对阵水晶宫。WW2022年2月10日2-0对阵莱斯特城。WW获胜1- 2022 年 2 月 13 日,对阵伯恩利 0 分。 |
3 | 队伍还没动 | 切尔西 | 24 | 13 | 8 | 3 | 48 | 18 | 30 | 47 | 2021年12月29日DD鲁1-1对阵布莱顿。2022年1月2日DD鲁2-2对阵利物浦。2022年1月15日DD鲁0-1对阵曼城。1月18日DD鲁1-1对阵布莱顿2022.WW于2022年1月23日以2-0战胜托特纳姆热刺队。 |
你真的做得很好。我们已在我们的网站上使用此废料代码来展示现场足球, NBA 赛事。