Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 18, 2016 01:32:03

Alexej96
Зарегистрирован: 2016-12-18
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

html вместо jpeg

Всегда скачивал картинки вот таким кодом -

 import requests
address = 'https://www.lostfilm.tv/Static/icons/cat_vikings.jpeg'
with open('test.jpg', 'wb') as file:
    response = requests.get(address, stream=True)
    file.write(response.content)

Скачать таким образом с lostfilm.tv не получается. Вернее файл на диске появляется, но в нем не картинка, а html, причем почему-то страница яндекса. Подскажите, пожалуйста, как скачать картинку?

ps: Для примера ту, что в address.

Офлайн

#2 Дек. 19, 2016 02:14:00

VadimK
Зарегистрирован: 2013-07-03
Сообщения: 199
Репутация: +  16  -
Профиль   Отправить e-mail  

html вместо jpeg

Видимо проверка на браузер, а ботов редиректят нафиг.

 import requests
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'}
address = 'https://www.lostfilm.tv/Static/icons/cat_vikings.jpeg'
with open('test.jpg', 'wb') as file:
    response = requests.get(address, headers=headers)
    file.write(response.content)

Офлайн

#3 Дек. 19, 2016 02:44:51

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9993
Репутация: +  857  -
Профиль   Отправить e-mail  

html вместо jpeg

  
>>> import requests
>>> 
>>> address = 'https://www.lostfilm.tv/Static/icons/cat_vikings.jpeg'
>>> response = requests.get(address,
...                         stream=True,
...                         headers={'user-agent': 'firefox'})
>>> with open('test.jpg', 'wb') as file:
...     file.write(response.content)
... 
4752
>>>



Отредактировано py.user.next (Дек. 19, 2016 02:46:23)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version