Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Python(最好是熊猫)从Javascript表中刮取数据?_Javascript_Python_Html_Pandas_Web Scraping - Fatal编程技术网

如何使用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的文章,但我没有安装这些,所以我更愿意在没有它们的情况下使用它们。所以我的问题有两个:

  • 是否有任何方法可以从本文档中的不同页面获取数据 仅使用pandas和标准Python/SciPy的javascript表 图书馆(确切地说是水蟒)

  • 如果没有,您将如何在selenium或您选择的软件包的帮助下将这些数据放入熊猫数据框中


  • 提示:在浏览器中打开网络分析器,观察导航到不同页面时发生的情况;您将注意到对如下页面的
    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参数是什么;想必它有某种用途,否则它就不存在了——也许是某种内部记录保存。