使用Python Spynner下载带有JavaScript doPostBack链接的文件

时间:2015-05-27 07:02:41

标签: javascript python asp.net web-scraping spynner

我无法让Python Spynner从具有href="javascript:__doPostBack('ProjectionBoard1$cmdCSV','')"锚点的ASP网页下载文件。

Example "Export Data"

有一种简单的方法吗?我试过通过分析帖子请求无效而对JavaScript进行逆向工程。如果我在控制台中执行_doPostBack请求,我得到:

Resource interpreted as Document but transferred with MIME type text/csv: "http://www.fangraphs.com/leaders.aspx?pos=all&stats=pit&lg=all&qual=0&type=…son=2015&month=0&season1=2015&ind=0&team=18&rost=0&age=0&filter=&players=0"

1 个答案:

答案 0 :(得分:0)

Python Spynner会自动将与锚相关联的文件下载到href标记(或JavaScript定向下载),并在单击时将其保存到工作目录中。定位和点击要下载的链接有两种选择:

b = spynner.Browser()
b.click("#someAnchorId", wait_load=True)

或使用JQuery定位链接

b = spynner.Browser()
b.runjs("jQuery('#someAnchorId').get(0).click()")
b.wait(1)