使用Python自动下载含Javascript URL的文件
我被分配了一个任务,要自动下载几个网站上的csv文件,这个网站的内容主要是用Javascript写的(网址是:https://www.quantcast.com/download/plannerCSV?&d0Id=01&sc=1&mr=10000&rs2=-1)。网站上有一个很方便的“下载”按钮,点击后就会开始下载,我是通过Firebug找到了这个下载链接:
https://www.quantcast.com/download/plannerCSV?&d0Id=10&sc=1&mr=10000
不过,据我所知,链接的结尾必须是.csv,才能让Python中的urllib2模块读取并保存到我的电脑上。有没有办法获取一个以.csv结尾的文件链接,这样我就可以用Python自动下载了?
我更倾向于用Python来写这个脚本,但如果有其他更简单直接的方法来完成这个任务,我也很想知道。任何建议都非常感谢!谢谢 =)
(编辑) 为了更清楚:我想下载的数据是一个巨大的(定期更新的)列表,可以根据不同的复选框进行多种过滤。这个链接会根据复选框的选择而变化,所以我认为这个链接可能会调用一个Javascript程序,每次生成一个新的csv文件。
2 个回答
这些网址会把你重定向到其他地方吗?如果是的话,你应该使用网址重定向(查看头信息,使用详细模式)。或者你可以试着用urllib在当前网址保存页面,然后把文件改名为*.csv。你可以试试看。
在网址后面加一个假的GET变量有用吗?有些情况下是有效的,比如我想到的一个例子是Google Code的维基页面,它们对图片文件的要求是必须有文件扩展名。为了实现这一点,它们会在网址中加上那些服务器不会用到的GET变量。比如说:
https://www.quantcast.com/download/plannerCSV?&d0Id=10&sc=1&mr=10000&foo=.csv
我想去看看,但我没有Quantcast的账号。