Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/283.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
Javascript Ajax响应每次更改值';s发送_Javascript_Python_Ajax_Web Crawler - Fatal编程技术网

Javascript Ajax响应每次更改值';s发送

Javascript Ajax响应每次更改值';s发送,javascript,python,ajax,web-crawler,Javascript,Python,Ajax,Web Crawler,我正在尝试制作一个网络爬虫,从收受赌注的人那里获取赌注。他们的网站完全是由AJAX请求组成的,我没有这方面的经验,也没有JS的经验,无法了解发生了什么,我可以做些什么来获得我想要的结果 到目前为止,我的代码使用Selenium打开一个页面,检索发送API请求所需的cookies,并传递该cookies,以及标头和cookies,然后递归地发送对其中包含的页面的请求 headers = { 'Host': 'www.bet365.com', 'Connection': 'keep-alive',

我正在尝试制作一个网络爬虫,从收受赌注的人那里获取赌注。他们的网站完全是由AJAX请求组成的,我没有这方面的经验,也没有JS的经验,无法了解发生了什么,我可以做些什么来获得我想要的结果

到目前为止,我的代码使用Selenium打开一个页面,检索发送API请求所需的cookies,并传递该cookies,以及标头和cookies,然后递归地发送对其中包含的页面的请求

headers = {
'Host': 'www.bet365.com',
'Connection': 'keep-alive',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) '
              'Chrome/78.0.3904.97 Safari/537.36',
'DNT': '1',
'Accept': '*/*',
'Sec-Fetch-Site': 'same-origin',
'Sec-Fetch-Mode': 'cors',
'Referer': 'https://www.bet365.com/',
'Accept-Encoding': 'gzip, deflate, br',
'Accept-Language': 'en-GB,en-US;q=0.9,en;q=0.8',
}
r = requests.get(api, headers=headers, cookies=c)
for link in getLinks(r.text):
    print(requests.get('https://www.bet365.com/SportsBook.API/web? 
    lid=1&zid=1&'+link+'&cid=197&cgid=0', headers=headers, cookies=c).text)
我已经模拟了AJAX调用,并向API发送了一个请求,该请求返回:

这将为页面提供:

我可以在这个响应中看到我想要的数据(OD=values),但是我真正感兴趣的值在刷新到循环上的不同编码响应后每隔几秒钟就会改变一次。这些值确实有一个与页面上的赔率相关的值,因为具有相同赔率的市场在API响应中具有相同的编码值。 例如:

PA;ID=394840198;IT=83884115-394840198;NA=Galatasaray;OD=F^D;NF=83884115;
根据第一个请求,然后:

PA;ID=394840198;IT=83884115-394840198;NA=Galatasaray;OD=C[A;NF=83884115;
提神后。这两个值的平均赔率均为2.4,如上述bet365链接所示


我的问题是,是否有任何方法可以控制通过请求头或其他东西向我提供的编码值,因为有一个是我真正想要的并且可以轻松使用的,但似乎服务器每次都发送随机编码。

您应该共享一些代码。在这一刻,一切都是一个奇迹,最终将免费完成你的全部工作…(没有任何好处,但很多人负担得起),所以请友好地展示你的代码,以及你请求中的一些数据,并在你的问题中更加明确。你正在查看赛前赔率数据。然后在这里加密赔率值。在现场赔率数据中,您可以获得新的赔率,而不是加密的赔率。但是,仅仅使用API调用无法获得实际的赔率。请查看bet365 More,并与我分享prematch result的完整响应示例。然后我会让你知道如何解密这个。这个方法很简单,但以前有点难找到