如何从需要点击/切换的网页中提取表格?

问题描述 投票:0回答:1

我正在尝试从此网页中提取表格,但我只能获取投球表。我也想获得命中表,理论上是这个 URL: https://www.covers.com/sport/baseball/mlb/matchup/279605#hitting

但这并没有给我带来任何不同的结果。另外,我希望能够提取诸如“最后 5 个”和“最后 10 个”选项之类的内容,但我认为所有这些选项的答案都是相同的。我将如何进行设置,以便它可以动态选择和提取这些表?

import pandas as pd
import requests
from bs4 import BeautifulSoup

url = 'https://www.covers.com/sport/baseball/mlb/matchup/279605'

pd.set_option('display.max_rows', 5000)
pd.set_option('display.max_columns', 5000)
pd.set_option('display.width', 1500)

html = requests.get(url).content   
df_list = pd.read_html(html)
df = df_list[12]
print(df)
python pandas web-scraping web beautifulsoup
1个回答
0
投票

命中表是从不同的 URL 加载的。您可以使用此示例来加载它:

import pandas as pd

hitting_table_url = "https://www.covers.com/sport/baseball/mlb/matchup/279605/stats-analysis/hitting/overall"

df = pd.read_html(hitting_table_url)[0]
print(df)

打印:

       Team  Runs/9   AVG.  Hits   HR   BB  EB Hits    OBP
0  Colorado     4.5  0.246   8.4  1.0  2.7      1.0  0.309
1   Arizona     4.7  0.248   8.5  1.1  3.3      1.1  0.320
© www.soinside.com 2019 - 2024. All rights reserved.