【发布时间】:2021-08-07 19:18:37
【问题描述】:
我是网络抓取的新手,我正在尝试从这个网站抓取表格:https://www.eloratings.net/2016_European_Championship
import pandas as pd
import requests
from bs4 import BeautifulSoup
url = 'https://www.eloratings.net/2016_European_Championship'
r = requests.get(url).text
soup = BeautifulSoup(r, "html.parser")
df = pd.read_html(str(soup.find_all('table')))
我收到“未找到表”错误。
如果我尝试使用索引来查找表:
df = pd.read_html(str(soup.find_all('table')[0]))
我得到“列表索引超出范围”。
我也尝试过使用 Json 包和 Helium/Selenium 网络驱动程序,但我无法使任何工作。
【问题讨论】:
-
这是一个js表,requests只得到html响应,没有运行js,它不是浏览器,所以你的表没有加载,你需要使用scrapy或tkinker之类的东西来获取运行JS代码后的html
-
@MohammedJanatiIdrissi 不,你不需要 tkinker 也不需要硒。
标签: python dataframe web-scraping beautifulsoup