我试图从特定网站下载图像,好像我不能urllib
下载它们,虽然链接是有效的,是通过chrome浏览器访问。我试图找出它的原因以及如何解决它。
这是我得到的错误:
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 403: Forbidden
码:
import requests
import urllib.request
import os
myPath2 = "C:\\Users\\Admin\\Desktop\\aaa\\test"
filename = "just_a_test"
fullfilename = os.path.join(myPath2, filename)
urllib.request.urlretrieve("https://image.prntscr.com/image/Vje0uwk0Rv6GpEyTTpKJ7g.png", fullfilename + ".png")
站点拒绝,因为用户代理,其中将其标识为从urllib
来的请求。尝试将其更改为一个传统的浏览器,如下面的例子:
opener = urllib.request.build_opener()
opener.addheaders = [
(
"User-Agent",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36",
)
]
urllib.request.install_opener(opener)
urllib.request.urlretrieve(
"https://image.prntscr.com/image/Vje0uwk0Rv6GpEyTTpKJ7g.png", fullfilename + ".png"
)