python - 使用 Python urllib 读取 html 的错误
问题描述
我目前在 python 上使用 urllib 打开链接时遇到问题。我的代码基本上是为了能够获取文章的链接(变量“url”),打开链接(page = urlopen(url)),从网站获取html(html_bytes = page.read()) ,解码 html(变量 html),然后打印它解码的内容。
这是我的代码:
from urllib.request import urlopen
url = "https://www.wsj.com/articles/peloton-says-wait-times-are-down-to-pre-pandemic-levels-11620334234?mod=hp_lista_pos4"
page = urlopen(url)
html_bytes = page.read()
html = html_bytes.decode("utf-8")
print(html)
这是我的错误:
File "c:/Users/Stras/VeraitasBot/urlopentest.py", line 5, in <module>
page = urlopen(url)
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.8_3.8.2800.0_x64__qbz5n2kfra8p0\lib\urllib\request.py", line 222, in urlopen
return opener.open(url, data, timeout)
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.8_3.8.2800.0_x64__qbz5n2kfra8p0\lib\urllib\request.py", line 531, in open
response = meth(req, response)
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.8_3.8.2800.0_x64__qbz5n2kfra8p0\lib\urllib\request.py", line 640, in http_response
response = self.parent.error(
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.8_3.8.2800.0_x64__qbz5n2kfra8p0\lib\urllib\request.py", line 569, in error
return self._call_chain(*args)
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.8_3.8.2800.0_x64__qbz5n2kfra8p0\lib\urllib\request.py", line 502, in _call_chain
result = func(*args)
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.8_3.8.2800.0_x64__qbz5n2kfra8p0\lib\urllib\request.py", line 649, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 403: Forbidden
此代码能够打开大多数链接并从纽约时报、福克斯、CNN 等网站抓取 html,但是当我尝试从 WSJ 等网站拉取 html 时总是会出现该错误(如上例所示) .
有谁知道我可以从所有网站持续抓取信息的方法或如何解决此错误?谢谢
解决方案
推荐阅读
- javascript - 当我让 JavaScript 使用 XMLHTTPREQUEST 运行 PHP 脚本时找不到 PHP 文件路径(404 错误);该怎么办?
- amazon-web-services - 如何在 Terraform 中为 S3 上的 Lambda 引用处理程序
- spring-boot - 如何在 Spring Boot Keycloak Adapter 中禁用自动登录重定向
- javascript - 如何解决我的 React 应用程序中出现数千个错误的问题?
- python - 我怎样才能让这个功能运行?
- javascript - 使用 JavaScript 在字符串数组中查找与输入匹配的所有单词
- python - np.ones_like() 不返回数组
- opencv - OpenCV无法通过视频捕获打开IP摄像头
- diagram - 在 PlantUML 中引用来自不同泳道的现有活动
- c# - 如何使用 Microsoft 测试测试 C# void 方法?