我對 python 很陌生,并試圖做我自己的資料分析。
我正在嘗試決議來自該網站的資料: https ://www.tsn.ca/nhl/statistics
我想以資料框格式獲取表格。
我試過這個:
import pandas as pd
players_list_unclean = pd.read_html('https://www.sportsnet.ca/hockey/nhl/players/?season=2021&?seasonType=reg&tab=Skaters')
我收到以下錯誤:
raise ValueError("No tables found") ValueError: No tables found
我可以看到有表,但由于某種原因它沒有被讀取。
我發現另一個建議使用 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() ```
uj5u.com熱心網友回復:
如果您右鍵單擊表格并選擇檢查,您將看到該頁面上的“表格”實際上并未使用 html 表格元素。
從熊貓檔案中:
此函式搜索 <table> 元素,并且僅搜索 <tr> 和 <th> 行以及表中每個 <tr> 或 <th> 元素內的 <td> 元素。
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_html.html
我認為這不適用于此頁面。可能需要尋找另一個資料源。
uj5u.com熱心網友回復:
沒有表格,但您很幸運,因為資料來自獲取:
https://datacrunch.9c9media.ca/statsapi/sports/hockey/leagues/nhl/sortablePlayerSeasonStats/skater?brand=tsn&type=json&seasonType=regularSeason&season=2021
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/433136.html
