我正在尝试从此网页中提取表格,但我只能获取投球表。我也想获得命中表,理论上是这个 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)
命中表是从不同的 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