- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以基本上我是想从网站上删除 javascript 生成的数据。为此,我使用了 Python 库 requests_html .
这是我的代码:
from requests_html import HTMLSession
session = HTMLSession()
url = 'https://myurl'
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'}
payload = {'mylog': 'root', 'mypass': 'root'}
r = session.post(url, headers=headers, verify=False, data=payload)
r.html.render()
load = r.html.find('#load_span', first=True)
print (load.text)
如果我不使用 render() 函数,我可以连接到网站并且我的抓取数据为空(这是正常的)但是当我使用它时,我有这个错误:
pyppeteer.errors.PageError: net::ERR_CERT_COMMON_NAME_INVALID at https://myurl
或
net::ERR_CERT_WEAK_SIGNATURE_ALGORITHM
我假设渲染器忽略了 session.post 的参数“verify=False”。我该怎么做?
编辑:如果你想重现错误:
from requests_html import HTMLSession
import requests
session = HTMLSession()
url = 'https://wrong.host.badssl.com'
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'}
r = session.post(url, headers=headers, verify=False)
r.html.render()
load = r.html.find('#content', first=True)
print (load)
最佳答案
唯一的方法是在 pyppeteer 中设置 ignoreHTTPSErrors
参数.问题是 requests_html 没有提供任何方法来设置这个参数,事实上,有一个 issue关于它。我的建议是通过在此处添加另一条消息再次通知开发人员。
或者您可以拉取这个新功能。
另一种方法是使用 Selenium。
编辑:
我将 verify=False
添加为带有拉取请求(已接受)的功能。现在可以忽略 SSL 错误 :)
它不是 Get() 的参数 set it when you instantiate the object :
session = HTMLSession(verify=False)
关于javascript - 如何使用 requests_html 忽略无效的 SSL 证书?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51762655/
我无法使用 requests_html 提取正确的结果: >>> from requests_html import HTMLSession >>> session = HTMLSession() >
我正在尝试在 Mac OS 10.14 中使用模块 requests-html,它在尝试使用 pip 和 easy_install 进行安装时都出现了这个错误,它出现了一个错误,说已经有这个模块。我在
所以基本上我是想从网站上删除 javascript 生成的数据。为此,我使用了 Python 库 requests_html . 这是我的代码: from requests_html import H
我正在尝试登录一个网站,单击一个按钮,然后抓取一些数据。必须呈现页面,因为它全部使用 JavaScript(因此如果您 [例如] 在 Web 浏览器中查看源代码,则不可用)。 除了发送点击的时间外,一
我正在尝试使用 python 包 resuqests_html 异步 get() 一个 URL 列表,类似于async example in the README使用Python 3.6.5和requ
我正在尝试编写一个简单的脚本,给定任意 URL 将返回该网站的标题标签。因为我要解析的许多 URL 需要启用 JavaScript,所以我需要使用诸如 requests_html 的渲染函数之类的东西
我正在尝试使用 Requests-HTML 模块在 Python 中每 10 秒呈现一个 HTML 页面。第一次运行时它运行完美,但在它崩溃后,出现以下错误消息。我的部分代码是: def get_da
我是一名优秀的程序员,十分优秀!