我正在废弃此网站的报告,我点击主页,输入报告日期并点击提交,启用了Ajax,我无法获得如何获取该报告表。任何帮助都将非常感激。
https://www.theice.com/marketdata/reports/176
我尝试使用请求模块发送get和post,但因会话超时或报告不可用而失败。
编辑:
到目前为止采取的步骤:URL = "theice.com/marketdata/reports/datawarehouse/..."
with requests.Session() as sess:
f = sess.get(URL,params = {'selectionForm':''}) # Got 'selectionForm' by analyzing GET requests to URL
data = {'criteria.ReportDate':--, ** few more params i got from hitting submit}
f = sess.post(URL,data=data)
f.text # Session timeout / No Reports Found –
答案 0 :(得分:0)
由于您已经确定您要查找的数据隐藏在某些AJAX调用背后,因此您已经在解决此问题。
目前,您正在使用HTTP的python请求,但这就是它的全部功能。它不处理执行JavaScript或涉及扫描内容和在另一种语言运行库中执行代码的任何其他项。为此,您需要使用Mechanize或Selenium之类的东西来加载这些网站,与JavaScript交互,然后抓取您正在寻找的数据。