urllib的不能下载某些图像

问题描述 投票:0回答:1

我试图从特定网站下载图像,好像我不能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")
python urllib
1个回答
1
投票

站点拒绝,因为用户代理,其中将其标识为从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"
)
© www.soinside.com 2019 - 2024. All rights reserved.