【发布时间】:2021-05-05 04:19:01
【问题描述】:
我希望从此页面中抓取 HTML 表格:** https://www.nba.com/stats/teams/opponent-shooting/
我通常通过pd.read_html() 调用来完成这项任务,但是我在处理这个特定的表时遇到了问题。我认为这是因为 HTML 中隐藏了额外的数据,而这些数据并未在实际页面加载中显示(我并不真正感兴趣的数据)。我在read_html 函数中尝试了一些不同的参数,但没有任何运气。这些可以在这里找到:
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_html.html
任何建议将不胜感激!
根据要求了解更多详细信息。我确实遵循常识和更高级的路线来检索页面汤。其中:
driver = webdriver.Chrome(options=options) 和 driver.get() 用于硒路线。
page = requests.get() 和 soup = BeautifulSoup(page.content, 'html.parser') 用于非硒路线。
之后我使用table = soup.find('table') 检索表HTML 以传递给pd.read_html()。这两种方法都导致了一个我不习惯得到的非常混乱的桌子。
【问题讨论】:
-
您已经尝试过哪些代码?您当前的代码是什么?有哪些错误?期望的输出是什么?实际输出是多少?
-
我刚刚尝试了
pd.read_html()的变体。根据我的经验,除了指定标题行之外,它会立即将数据转换为 pandas 数据框,这是所需的输出。我没有添加任何额外的代码,因为通常只需要一行代码。 -
就错误而言,我没有收到“错误”,该表显然没有被一对一地转换为 pandas df。
-
所以你的整个代码是
pandas.read_html("https://www.nba.com/stats/teams/opponent-shooting/")?你没有错误? -
我为你添加了额外的代码。但是听到没有什么特别的。我只是得到网页的汤。很抱歉您觉得我没有提供足够的信息。