Python 3 Web 中的问题 HTTP 错误 403 抓取出版物
Posted
技术标签:
【中文标题】Python 3 Web 中的问题 HTTP 错误 403 抓取出版物【英文标题】:Problem HTTP error 403 in Python 3 Web Scraping the publications 【发布时间】:2021-09-13 21:37:48 【问题描述】:这是我尝试放置出版物 URL 时发生的错误的回溯。它适用于常规网站,例如 *** 或 Wikipedia,但是当我在 https://www.sciencedirect.com/science/article/pii/S1388248120302113?via%3Dihub 等出版物上尝试时,会出现错误。谁能帮帮我??
这是我的代码: req = Request('https://www.sciencedirect.com/science/article/pii/S1388248120302113?via%3Dihub', headers='User-Agent': 'Mozilla/5.0') html_plain = urlopen(req).read()
这是错误的回溯:
文件“C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.1776.0_x64__qbz5n2kfra8p0\lib\urllib\request.py”,第 214 行,在 urlopen 返回 opener.open(url, 数据, 超时) 文件“C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.1776.0_x64__qbz5n2kfra8p0\lib\urllib\request.py”,第 523 行,打开 响应=方法(请求,响应) 文件“C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.1776.0_x64__qbz5n2kfra8p0\lib\urllib\request.py”,第 632 行,在 http_response 响应 = self.parent.error( 文件“C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.1776.0_x64__qbz5n2kfra8p0\lib\urllib\request.py”,第 561 行,错误 返回 self._call_chain(*args) _call_chain 中的文件“C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.1776.0_x64__qbz5n2kfra8p0\lib\urllib\request.py”,第 494 行 结果 = 函数(*args) 文件“C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.1776.0_x64__qbz5n2kfra8p0\lib\urllib\request.py”,第 641 行,位于 http_error_default 引发 HTTPError(req.full_url, code, msg, hdrs, fp) urllib.error.HTTPError:HTTP 错误 403:禁止
谢谢!
【问题讨论】:
【参考方案1】:HTTP 403 Forbidden client 错误状态响应码表示服务器理解请求但拒绝授权。 这不是代码中的错误,这是网站在您进行网络抓取时拒绝为该页面提供服务器。
【讨论】:
有些网站只是在代理不正确的情况下禁止这种请求。实际上有一种方法可以解决这个问题,因为您可以使用浏览器访问该网站以上是关于Python 3 Web 中的问题 HTTP 错误 403 抓取出版物的主要内容,如果未能解决你的问题,请参考以下文章
来自 Python All in One for Dummies 的 Python Web scraper 副本上的 HTTP 错误 406