Sha*_* Su 27 python image urllib download
当我使用python通过urllib2 request或urllib.urlretrieve从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())
Run Code Online (Sandbox Code Playgroud)
我想下载的图片网址是 http://site.meishij.net/r/58/25/3568808/a3568808_142682562777944.jpg
此URL有效,我可以通过浏览器保存,但python代码将下载无法打开的文件.预览说"它可能已损坏或使用预览无法识别的文件格式".我比较了我用Python下载的图像和我通过浏览器手动下载的图像.前者的大小要小几个字节.所以似乎文件未完成,但我不知道为什么python无法完全下载它.
Vla*_*den 50
import requests
img_data = requests.get(image_url).content
with open('image_name.jpg', 'wb') as handler:
handler.write(img_data)
Run Code Online (Sandbox Code Playgroud)
Dee*_*ace 37
在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)
Run Code Online (Sandbox Code Playgroud)
小智 12
这是使用urlib.request包从 Internet 下载和保存图像的最简单方法。
在这里,您可以简单地传递图像 URL(从您要下载和保存图像的位置)和目录(您要在本地保存下载图像的位置,并用 .jpg 或 .png 指定图像名称)这里我给出了“本地文件名.jpg”替换为这个。
蟒蛇 3
import urllib.request
imgURL = "http://site.meishij.net/r/58/25/3568808/a3568808_142682562777944.jpg"
urllib.request.urlretrieve(imgURL, "D:/abc/image/local-filename.jpg")
Run Code Online (Sandbox Code Playgroud)
如果您拥有来自 Internet 的所有图像 URL,您也可以下载多个图像。只需在 for 循环中传递这些图像 URL,代码就会自动从 Internet 下载图像。
小智 8
import random
import urllib.request
def download_image(url):
name = random.randrange(1,100)
fullname = str(name)+".jpg"
urllib.request.urlretrieve(url,fullname)
download_image("http://site.meishij.net/r/58/25/3568808/a3568808_142682562777944.jpg")
Run Code Online (Sandbox Code Playgroud)
小智 6
Python代码片段可从URL下载文件并保存其名称
import requests
url = 'http://google.com/favicon.ico'
filename = url.split('/')[-1]
r = requests.get(url, allow_redirects=True)
open(filename, 'wb').write(r.content)
Run Code Online (Sandbox Code Playgroud)