Как можно обойти защиту от скачивания фотографии при помощи requests?
Час добрый
Подскажите пожалуйста как при помощи requests можно вытащить изображение со следующей ссылки:
https://3125tiger.x.yupoo.com/42080879?uid=1
При помощи bs4 получил нужный пут до полной картинки, но сохранить ее не выходит т.к. если делать простой get запрос на эту ссылку, то срабатывает защита и скачивается следующее изображение:
https://prnt.sc/DNMOwMjV406m
Такая же картинка вылазит если зайти на ссылку для полной версии изображения БЕЗ посещения страницы с которой получаем пут к полной версии изображения. Однако если открыть первую ссылку в новой вкладке, то после обновления ссылки с полной картинкой - появится нужное изображение
ОТРЕДАКТИРОВАНО
Попробовал как посоветовали получить через сессию, если вычесть из кода элементы поиска необходимых элементов по div-ам при помощи bs4, то код был следующим:
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36"
}
s = requests.Session()
request = s.get(ссылка на главную, headers=headers)
request = s.get(ссылка на альбом, headers=headers)
request = s.get(https://3125tiger.x.yupoo.com/42080879?uid=1, headers=headers)
cookies_data = s.cookies
request = s.get(ссылка на альбом, headers=headers, cookies=cookies_data)
Так же пробовал обновлять через:
s.cookies.update(cookies_data)
Ответы (2 шт):
Открываем панель разработчика и видим, что в картинке прописан путь до самой картинки без элементов интерфейса. Выглядит это таким образом:
<img alt="" title="Width: 750px
Height: 891px
Frame: 1" class="viewer__img animate__startAnimate" data-src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4QEYERgS1UcUEQAAABl0RVh0Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAAAAQSURBVAgdAQUA+v8AAAAAAAAFAAG6iRCKAAAAAElFTkSuQmCC" src="//photo.yupoo.com/3125tiger/854c31a5/4e7bc587.jpeg">
Далее вам нужно просто выбрать данные из src, убрать // и получаем ссылку: photo.yupoo.com/3125tiger/854c31a5/4e7bc587.jpeg
Далее передаём её в requests и через него качаем
Решил проблему. За место того чтобы открывать ссылку в таком виде:
photo.yupoo.com/3125tiger/854c31a5/4e7bc587.jpeg
Заменил в ней photo на pic и все заработало
pic.yupoo.com/3125tiger/854c31a5/4e7bc587.jpeg