我正在使用熊猫从网页上获取一些冰球统计数据,如下所示:
import pandas as pd
url_goal = 'http://www.quanthockey.com/nhl/records/nhl-players-all-time-goals-per-game-leaders.html'
df_goal = pd.read_html(url_goal, index_col=0, header=0)[0]
这很好用,但问题是切换到主页上统计表的第二页,不会更改网址,所以我不能使用相同的方法来获取超过前50名玩家。表格中有一个javascript地址,随着页码的切换而改变。我读了一些关于selenium和beautifulsoup的内容,但我没有安装这些,所以我更愿意在没有它们的情况下这样做。所以我的问题是双重的:
有没有办法从这里的不同页面中获取数据 javascript表仅使用pandas和标准Python / SciPy 图书馆(确切地说是Anaconda)?
如果没有,您会如何在selenium或您选择的包装的帮助下将这些数据转换为pandas数据框?
答案 0 :(得分:3)
提示:在浏览器中打开网络分析器,观察导航到不同页面时会发生什么;您会注意到GET
对
http://www.quanthockey.com/scripts/AjaxPaginate.php?cat=Records&pos=Players&SS=&af=0&nat=alltime&st=reg&sort=goals-per-game&page=3&league=NHL&lang=en&rnd=451318572
请注意查询字符串的page
部分。
您可以遍历对应于有多少页面的数字范围,更改查询字符串page
参数,每次增加一个(例如)