繁体   English   中英

Python Pandas - read_html 未找到表格

[英]Python Pandas - read_html No tables Found

我是 python 的新手,正在尝试自己进行数据分析。

我正在尝试解析来自该网站的数据: https://www.tsn.ca/nhl/statistics

我想以数据框格式获取表格。

我试过这个:

import pandas as pd

players_list_unclean = pd.read_html('https://www.sport.net.ca/hockey/nhl/players/?season=2021&?seasonType=reg&tab=Skaters')

我收到以下错误:

raise ValueError("No tables found") ValueError: 没有找到表

我可以看到有表格,但由于某种原因没有被读取。

我发现另一个堆栈溢出解决方案推荐使用 selenium:

pandas read_html ValueError:找不到表

但是,当我尝试实现此代码时,我无法在 html 页面源代码中找到表 ID。 有谁知道另一种方法来做到这一点? 我试过其他网站,但我最终遇到了同样的问题。

from selenium.webdriver.common.keys import Keys

driver = webdriver.Firefox()
driver.get("https://www.wunderground.com/personal-weather-station/dashboard?ID=KMAHADLE7#history/tdata/s20170201/e20170201/mcustom.html")
elem = driver.find_element_by_id("history_table")

head = elem.find_element_by_tag_name('thead')
body = elem.find_element_by_tag_name('tbody')

list_rows = []

for items in body.find_element_by_tag_name('tr'):
    list_cells = []
    for item in items.find_elements_by_tag_name('td'):
        list_cells.append(item.text)
    list_rows.append(list_cells)
driver.close() ```



如果您右键单击表格并选择检查,您将看到该页面上的“表格”实际上并未使用 html 表格元素。

来自 Pandas 文档:

此 function 搜索 <table> 元素,并且仅搜索表中每个 <tr> 或 <th> 元素中的 <tr> 和 <th> 行以及 <td> 元素。

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_html.html

我认为这不会在此页面上工作。 可能需要找到另一个数据源。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM