【发布时间】:2018-11-26 14:42:57
【问题描述】:
大家早上好,
我一直在尝试通过 HTTPS 的 Python 2.7 访问网站,但无法访问其内容,并且几天的研究也没有帮助。 网址是:https://www.cioh.org.co/。在 Python 中,我希望能够访问页面并检索所有 HTML 内容。过去,我会使用 ssl 模块并在顶部添加以下代码行:
导入 ssl ssl._create_default_https_context = ssl._create_unverified_context
这一次,这不起作用,我收到错误:SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败 (_ssl.c:661) 将 requests 模块与 requests.get('https://www.cioh.org.co/') 一起使用时
来自某些网站,一些人指出要使用: 导入请求 r = requests.get(URL,验证=假) 打印 r.text
我也尝试过,但它实际上并没有抓取内容。它只是从网站中检索内部标题信息,如下所示:
<html>
<head>
<META NAME="robots" CONTENT="noindex,nofollow">
<script src="/_Incapsula_Resource?SWJIYLWA=5074a744e2e3d891814e9a2dace20bd4,719d34d31c8e3a6e6fffd425f7e032f3">
</script>
<body>
</body></html>
打印的回复与网站完全不同。通过无数的研究,我尝试使用 certifi 模块。我还安装了 OpenSSL 并提取了 .crt、.key 和 .pem 文件(并尝试使用它们),但仍然没有运气。如果需要,我可以扩展我所做的进一步研究。
如果使用任何浏览器都可以轻松访问该网站。任何帮助将不胜感激。
旁注:这是我第一次创建帐户并提出问题。如果我有什么不清楚的地方,请告诉我。提前致谢。
【问题讨论】:
-
这不是“内部标题”,实际上是整个 HTML 文档。然后,您的浏览器会执行链接后面的 JavaScript 代码;你在浏览器中看到的就是结果。这是一个常见问题解答。
标签: python https web-scraping python-requests ssl-certificate