Задать вопрос
@markbrutx

Как эффективнее всего скачать картинку png на жесткий диск из ссылки python?

Я пробовал следующий способ
import requests

img_url = 'http://markof.fun/im/1.png'
r = requests.get(img_url)
out = open('d:/o/temp.png', "wb")
out.write(r.content)
out.close()


В итоге выходит так:
5ee262a1dacb4498234063.png
Но картинка ни как не записывается. Нужно именно скачать картинку, и закрыть ее чтобы другая программа смогла воспользоваться ею. В моем коде есть ошибка? Или как по другому это реализовать?
  • Вопрос задан
  • 210 просмотров
Подписаться 1 Простой 2 комментария
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
Так у вас и нет картинки, если делать такой запрос. Сервер 403 возвращает. Проверяйте статус ответа

import requests

img_url = 'http://markof.fun/im/1.png'

headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36'}
r = requests.get(img_url, headers=headers)

if r.status_code == 200:
    with open('temp.png', 'wb') as f:
        f.write(r.content)
else:
    print('Error', r.status_code)
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
NeiroNx
@NeiroNx
Программист
from urllib.request import urlopen
with open("C:\\test.png","wb") as img,\
    urlopen("http://markof.fun/im/1.png") as data:
    img.write(data.read())
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы