【问题标题】:Python -- how to grab images off the internetPython——如何从互联网上抓取图像
【发布时间】:2011-06-20 17:22:25
【问题描述】:

如何使用 Python (v2.6) 从已知 URL 中获取图片并保存到我的计算机?谢谢

【问题讨论】:

标签: python image download


【解决方案1】:

您可以使用urllib.urlretrieve

如有必要,将由 URL 表示的网络对象复制到本地文件。

例子:

>>> import urllib
>>> urllib.urlretrieve('http://i.imgur.com/Ph4Xw.jpg', 'duck.jpg')
('duck.jpg', <httplib.HTTPMessage instance at 0x10118e830>)
# by now the file should be downloaded to 'duck.jpg'

【讨论】:

    【解决方案2】:

    你可以使用urllib.urlretrieve:

    import urllib
    urllib.urlretrieve('http://example.com/file.png', './file.png')
    

    如果您需要更大的灵活性,请使用urllib2

    【讨论】:

      【解决方案3】:

      在没有任何上下文的情况下,下面是一个使用标准库模块发出未经身份验证的 HTTP GET 请求的简单示例

      import urllib2
      response = urllib2.urlopen('http://lolcat.com/images/lolcats/1674.jpg')
      with open('lolcat.jpg', 'wb') as outfile:
          outfile.write(response.read())
      

      编辑: urlretrieve() 对我来说是新的。我想那你可以把它变成一个命令行单行...如果你很无聊。

      $ python -c "import urllib; urllib.urlretrieve('http://lolcat.com/images/lolcats/1674.jpg', filename='/tmp/1674.jpg')"
      

      【讨论】:

      • 如何发出经过身份验证的请求?你选择哪一个有影响吗?
      【解决方案4】:

      电池包含在urllib:

      urllib.urlretrieve(yourUrl, fileName)

      【讨论】:

        【解决方案5】:
        import urllib2
        open("fish.jpg", "w").write(urllib2.urlopen("http://www.fiskeri.no/Fiskeslag/Fjesing.jpg").read())
        

        【讨论】:

          【解决方案6】:

          简单。

          import urllib
          urllib.urlretrieve("http://www.dokuwiki.org/_media/wiki:dokuwiki-128.png","dafile.png")
          

          【讨论】:

            猜你喜欢
            • 2016-09-08
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2022-10-14
            • 1970-01-01
            • 1970-01-01
            • 2017-02-13
            • 1970-01-01
            相关资源
            最近更新 更多