如何使用Python(最好是熊猫)从Javascript表中刮取数据?
我正在使用熊猫从网页上获取一些冰球数据,如下所示:如何使用Python(最好是熊猫)从Javascript表中刮取数据?,javascript,python,html,pandas,web-scraping,Javascript,Python,Html,Pandas,Web Scraping,我正在使用熊猫从网页上获取一些冰球数据,如下所示: 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] 这很管用,但问题是切换到主页上统计表的第二页不会改变url,所以我不能用同样的方法抓
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]
这很管用,但问题是切换到主页上统计表的第二页不会改变url,所以我不能用同样的方法抓取超过前50名的玩家。表中有一个javascript地址,它会随着页码的切换而改变。我读了一些关于selenium和beautifulsoup的文章,但我没有安装这些,所以我更愿意在没有它们的情况下使用它们。所以我的问题有两个:
提示:在浏览器中打开网络分析器,观察导航到不同页面时发生的情况;您将注意到对如下页面的
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
参数,每次增加一个(例如)这非常有效,谢谢!非常有用的提示总的来说,我不知道网络分析仪。出于好奇,你知道最后一个随机数字串的用途吗?我没有把它包括在内,它工作得很好。是的,网络分析仪非常有用——大多数时候它可以帮助你制定策略。不确定rnd参数是什么;想必它有某种用途,否则它就不存在了——也许是某种内部记录保存。