«403 запрещено» при использовании пакета python urlib для загрузки образа

python web-crawler

361 просмотра

1 ответ

я новичок в пакете urllib. Я пытаюсь загрузить все изображения с веб-сайта " http://www.girl-atlas.com/album/576545de58e039318beb37f6 ". Вопрос заключается в следующем: когда я копирую URL-адрес изображения и передаю его в браузер, выдается ошибка «403 Forbidden» . Однако, когда я щелкаю правой кнопкой мыши изображение в браузере и выбираю открыть изображение в новом окне, на этот раз я получу изображение в новом окне. проблема в том, как urlib имитирует второй путь?

Автор: Lei Hua Источник Размещён: 08.11.2019 11:30

Ответы (1)


1 плюс

Решение

Запрещено использовать URL-адреса за пределами браузера. Для этого браузеры всегда отправляют реферер, сайт, с которого загружается изображение. Если браузер будет написан на Python, это будет выглядеть так:

import urllib.request

opener = urllib.request.URLopener()
opener.addheader('Referer', 'http://www.girl-atlas.com/album/576545de58e039318beb37f6')
image = opener.open('http://girlatlas.b0.upaiyun.com/41/20121222/234720feaa1fc912ba4e.jpg!lrg')
data = image.read()
image.close()
Автор: Daniel Размещён: 20.08.2016 03:49
Вопросы из категории :
32x32