Загрузите изображение, но urllib.error.HTTPError - PullRequest
0 голосов
/ 16 декабря 2018

Я пытаюсь загрузить изображение с помощью Python, но я получил ошибку «Ошибка HTTP 403: запрещено».Я понятия не имею, что делать, чтобы решить проблему.Вот мой код:

import urllib.request as req
imgurl ="http://www.example.com/image.jpg"
req.urlretrieve(imgurl, r"C:\Users\home\Desktop\images\image_name.jpg")

1 Ответ

0 голосов
/ 16 декабря 2018

Похоже, что пользовательский агент по умолчанию urllib является виновником.Если вы измените его на один из традиционных браузеров, он будет работать:

>>> opener = req.build_opener()
>>> opener.addheaders = [('User-Agent', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36')]
>>> req.install_opener(opener)
>>> req.urlretrieve(imgurl, r"img.jpg")
('img.jpg', <http.client.HTTPMessage object at 0x7f75aaf05a90>)
...