pythonを使用してurllib2リクエストまたはurllib.urlretrieveによってurlから画像を保存するときに問題が発生しました。画像のurlは有効です。エクスプローラー。ただし、pythonを使用して画像をダウンロードすると、ファイルを開くことができません。MacOSプレビューを使用して画像を表示します。ありがとうございます!
更新:
コードは次のとおりです
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は有効であり、ブラウザを介して保存できますが、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)
import requests
img_data = requests.get(image_url).content
with open('image_name.jpg', 'wb') as handler:
handler.write(img_data)
URLからファイルをダウンロードし、その名前で保存するPythonコードスニペット
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)
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")
import urllib.request
import os
img_url = "https://betanews.com/wp-content/uploads/2017/09/firefox-logo.jpg"
img_name = os.path.basename(img_url)
urllib.request.urlretrieve(img_url,img_name)
Linuxの場合。 wgetコマンドを使用できます
import os
url1 = 'YOUR_URL_WHATEVER'
os.system('wget {}'.format(url1))