【问题标题】:Download image from URL that automatically creates download从自动创建下载的 URL 下载图像
【发布时间】:2013-08-09 19:49:07
【问题描述】:

我有一个网址,当打开它时,它所做的只是启动下载,然后立即关闭页面。我需要用python捕获这个下载(一个png)并将它保存到我自己的目录中。我已经尝试了所有常用的 urlib 和 urlib2 方法,甚至尝试过使用 mechanize 但它不起作用。

网址自动开始下载然后关闭肯定会导致一些问题。

更新:具体来说,它使用 Nginx 来提供带有 X-Accel-Mapping 标头的文件。

【问题讨论】:

  • 首先看一下浏览器中的web developer tool。
  • 使用 wget 怎么样? stackoverflow.com/questions/17872083/… 还是你固定在 python 上?
  • @RodrigoGuedes 它和其他人做的一样,只是用我给它的名字踢出一个文件,但它不是一个有效的 png。我可以用崇高的方式打开它,它实际上是 html。这很奇怪......
  • @Homer6 不,它必须是 python。它被构建到一个金字塔网络应用程序中

标签: python download


【解决方案1】:

X-Accel-Mapping 标头没有什么特别之处。也许页面使用ajax发出HTTP请求,并使用X-Accel-Mapping reader值触发下载?

这是我使用urllib2 的方法:

response = urllib2.urlopen(url_to_get_x_accel_mapping_header)
download_url = response.headers['X-Accel-Mapping']
download_contents = urllib2.urlopen(download_url).read()

【讨论】:

  • 我遇到的问题最终与我在问题中描述的不同。但是对于以后遇到这个问题的人来说,这应该有效。
【解决方案2】:
import urllib
URL= YOUR_URL
IMAGE = URL.rsplit('/',1)[1]
urllib.urlretrieve(URL, IMAGE)

有关从 url 列表动态下载图像的详细信息visit here

【讨论】:

    猜你喜欢
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    • 2016-03-25
    • 2017-06-12
    • 2015-10-01
    • 2021-03-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多