【问题标题】:Automating file downloads with Javascript URLs using Python使用 Python 使用 Javascript URL 自动下载文件
【发布时间】:2011-06-13 03:23:02
【问题描述】:

我被指派从一个以 Javascript 大量编码的网站 (https://www.quantcast.com/download/plannerCSV?&d0Id=01&sc=1&mr=10000&rs2=-1) 自动下载几个 csv 文件。有一个方便的“下载”按钮提示下载,我使用 Firebug 找到的 URL:

https://www.quantcast.com/download/plannerCSV?&d0Id=10&sc=1&mr=10000

但是,据我所知,URL 必须以 .csv 结尾,以便 python 中的 urllib2 模块将其读/写到我的磁盘。有什么方法可以获取这个以 .csv 结尾的文件的 URL,以便我可以使用 python 自动下载?

我更喜欢使用 python 来编写脚本,但如果有另一种更明智/更直接的方法来完成这项任务,我很想知道它。任何指导表示赞赏!谢谢=)

(编辑)澄清:我尝试下载的数据包含一个巨大的(定期更新的)列表,可以根据选中的复选框以多种不同的方式进行过滤。 URL 会根据复选框发生变化,因此我相信 URL 可能会调用 Javascript 调用,每次都会生成一个新的 csv 文件。

【问题讨论】:

    标签: javascript python download urllib2


    【解决方案1】:

    附加一个虚拟 GET 变量是否有效?对于某些事情——对我来说显而易见的是关于图像文件的 Google Code wiki——它们需要文件扩展名,并通过传递服务器不会使用的 GET 变量来实现。比如:

    https://www.quantcast.com/download/plannerCSV?&d0Id=10&sc=1&mr=10000&foo=.csv

    我想看看,但我没有 Quantcast 帐户。

    【讨论】:

    • 嗯,URL 的工作原理是当我单击它时它会下载 csv 文件,但是当我将它插入我的脚本并运行它时,我最终不会得到相同的 csv 文件保存在我的磁盘。我认为这与 Quantcast 定期更新文件并且 URL 没有直接链接到文件,而是从服务器调用它的事实有关。
    【解决方案2】:

    那些网址会重定向你吗?如果是,您应该使用 url 重定向(读取标题〜使用详细) 或尝试使用 urllib 将页面保存在当前 url,然后重命名为 *.csv 。你应该试试。

    【讨论】:

      猜你喜欢
      • 2013-12-23
      • 2020-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-11
      • 2017-01-23
      • 1970-01-01
      • 2020-07-06
      相关资源
      最近更新 更多