当前位置: 首页 > 面试题库 >

python从URL保存图像

宓文斌
2023-03-14
问题内容

我在使用python通过urllib2请求或urllib.urlretrieve从url保存图像时遇到问题。那是图像的URL是有效的。我可以使用资源管理器手动下载它。但是,当我使用python下载图像时,无法打开该文件。我使用Mac
OS预览来查看图像。谢谢!

更新:

代码如下

def downloadImage(self):
    request = urllib2.Request(self.url)
    pic = urllib2.urlopen(request)
    print "downloading: " + self.url
    print self.fileName
    filePath = localSaveRoot + self.catalog  + self.fileName + Picture.postfix
    # urllib.urlretrieve(self.url, filePath)
    with open(filePath, 'wb') as localFile:
        localFile.write(pic.read())

我要下载的图像URL是
http://site.meishij.net/r/58/25/3568808/a3568808_142682562777944.jpg

该URL有效,我可以通过浏览器保存该URL,但是python代码将下载无法打开的文件。预览显示“它可能已损坏或使用了预览无法识别的文件格式。”
我比较了通过Python下载的图像和通过浏览器手动下载的图像。前一个的大小小几个字节。因此,似乎文件未完成,但是我不知道为什么python无法完全下载它。


问题答案:

在Windows上适合我的示例代码:

import requests

with open('pic1.jpg', 'wb') as handle:
        response = requests.get(pic_url, stream=True)

        if not response.ok:
            print response

        for block in response.iter_content(1024):
            if not block:
                break

            handle.write(block)


 类似资料:
  • 问题内容: 我需要将图像从PHP URL保存到PC。假设我有一个页面,其中仅包含一个“花”图像,仅此而已。如何使用新名称(使用PHP)从URL中保存该图像? 问题答案: 如果您设置为: 其他使用cURL:

  • 问题内容: 我需要使用CURL从URL保存图像并将其保存到服务器上的文件夹中。我一直在努力与这段代码无济于事。理想情况下,我想获取图像并将其另存为“ photo1”或其他内容。帮帮我! 问题答案: 尝试这个: 并确保在php.ini中启用allow_url_fopen

  • 我无法将验证码保存为png。这是到目前为止我的代码

  • 问题内容: 我一直在寻找一种从URL下载图像,对其执行一些图像操作(调整大小)操作,然后将其保存到django ImageField的方法。使用两个很棒的帖子(下面链接),我已经能够下载图像并将其保存到ImageField。但是,一旦有了文件,我在操作文件时会遇到一些麻烦。 具体来说,模型字段save()方法需要File()对象作为第二个参数。因此,我的数据最终必须是File()对象。下面链接的博

  • 我尝试此操作时出现以下错误 警告:fopen(/var/www/ajaxForm/loading.gif):无法打开流:在/var/www/curlmimage中没有这样的文件或目录。php第5行警告:fwrite()希望参数1是资源,布尔值在/var/www/curlmimage中给出。php第6行警告:fclose()希望参数1是资源,布尔值在/var/www/curlmimage中给出。ph

  • 问题内容: 我想弄清楚在使用python的turtle模块创建图形后如何保存位图或矢量图形图像。经过一番谷歌搜索后,我找不到一个简单的答案。我确实找到了一个名为canvas2svg的模块,但是我对python还是很陌生,我不知道如何安装该模块。有一些内置的方法可以保存乌龟画布的图像吗?如果没有,我应该在Ubuntu机器上哪里放置python的自定义模块? 问题答案: 这将为您提供帮助;我遇到了同样