gpt4 book ai didi

python - 尝试抓取图像时出错

转载 作者:行者123 更新时间:2023-12-02 03:25:30 25 4
gpt4 key购买 nike

我正在尝试使用 Python 3 通过存储在 .txt 文件中的 URL 下载图像,但在某些网站上尝试这样做时出现错误。这是我得到的错误:

 File "C:/Scripts/ImageScraper/ImageScraper.py", line 14, in <module>
dl()
File "C:/Scripts/ImageScraper/ImageScraper.py", line 10, in dl
urlretrieve(URL, IMAGE)
File "C:\Python34\lib\urllib\request.py", line 186, in urlretrieve
with contextlib.closing(urlopen(url, data)) as fp:
File "C:\Python34\lib\urllib\request.py", line 161, in urlopen
return opener.open(url, data, timeout)
File "C:\Python34\lib\urllib\request.py", line 469, in open
response = meth(req, response)
File "C:\Python34\lib\urllib\request.py", line 579, in http_response
'http', request, response, code, msg, hdrs)
File "C:\Python34\lib\urllib\request.py", line 507, in error
return self._call_chain(*args)
File "C:\Python34\lib\urllib\request.py", line 441, in _call_chain
result = func(*args)
File "C:\Python34\lib\urllib\request.py", line 587, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 403: Forbidden

使用此代码:

from urllib.request import urlretrieve

def dl():
with open('links.txt', 'r') as input_file:
for line in input_file:
URL = line
IMAGE = URL.rsplit('/',1)[1]
urlretrieve(URL, IMAGE)


if __name__ == '__main__':
dl()

我假设它是因为他们不允许“机器人”访问他们的网站,但通过一些研究我发现有一种解决方法,至少在使用 urlopen 时,但我无法设法将解决方法应用到我的代码中当我使用 urlretrieve 时。有可能让它发挥作用吗?

最佳答案

我认为该错误是一个实际的 HTTP 错误:403,表示禁止访问该 URL。您可能想在访问 URL 之前尝试打印 URL,并尝试通过浏览器访问 URL。您还应该得到禁止错误 (403)。了解有关 http_status_codes 的更多信息特别是 403 forbidden

关于python - 尝试抓取图像时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30575072/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com