我正在尝试使用Python某种类型的网站(例如this one)使用AJAX
请求jquery
来加载其中一些内容(我是也知道非常好的帖子here,但目前我觉得Selenium对我的问题可能没必要。)
我可以看到使用Firebug,当我加载菜单时,Cookie会以逻辑方式设置,使用编号系统对以下事件进行分组:
(Sport, Country, Competition, Event)
e.g。所有足球,英格兰赛事的数据都是
(7, 55,0,0)
然后,当调用javacript函数updateCenter()
时,它使用这组cookie根据这些cookie值构建URL,如:
var loadUrl = "/_betting/getCenterColumn/" + centerStateCookie + "/" + selectedSport
+ "&" + selectedCategory + "&" + selectedCompetition + "&" + selectedEvent + "&" +
selectedLiveNowEvent + "&" + expandBetNbrInActiveSettledBets;
对于我上面的例子,这看起来像:
/_betting/getCenterColumn/displayEventsFromCategory/7&55&0&0&0&0
最后,AJAX
请求使用从该URL加载的内容更新中心DIV:
(.html(ajax_load)
初始调用只是在处理请求的同时加载一个漂亮的whirly计时器gif:)
$("#PluginBettingCenterContent").html(ajax_load).load(loadUrl);
一切都很好,但Firebug XHR请求实际上显示请求的GET链接不是上面的但是附加了一些数字:
GET /_betting/getCenterColumn/displayEventsFromCategory/7&55&0&0&0&0?_=1392198690842
此?_=1392198690842
请求中的AJAX
来自何处?
由于我可以轻松地抓取并构建进入AJAX
加载的URL,我希望只是直接删除这些URL,但我不明白最后一组数字和{{1}附加到此URL GET请求,以及我如何模拟计算它们....
答案 0 :(得分:1)
URL中的timestamp参数可能是可选的。
但是,如果您希望尽可能接近浏览器,则可以手动附加时间戳:
>>> import time
>>> url = 'http://example.com/index'
>>> '%s?_=%d' % (url, time.time() * 1000)
'http://example.com/index?_=1392249064418'