Python 使用请求时保持会话\u html的渲染功能

Python 使用请求时保持会话\u html的渲染功能,python,pyppeteer,Python,Pyppeteer,我有一个小的内部网页,需要登录。登录时,会加载一个简单的HTML页面,并且会有javascript脚本加载页面的实际内容 我想: 登录该页面 运行javascript 从页面中提取信息 在页面中找到链接并重复此过程 我发现有一个名为requests_html的包,听起来目标是能够做这样的事情。我设法使用requests\uhtml登录到该页面,并获得我想要的页面的html视图。然后就可以打电话了 response.html.render() 然后,html应该使用pyppeteer,它下载并启

我有一个小的内部网页,需要登录。登录时,会加载一个简单的HTML页面,并且会有javascript脚本加载页面的实际内容

我想:

登录该页面 运行javascript 从页面中提取信息 在页面中找到链接并重复此过程 我发现有一个名为requests_html的包,听起来目标是能够做这样的事情。我设法使用requests\uhtml登录到该页面,并获得我想要的页面的html视图。然后就可以打电话了

response.html.render()
然后,html应该使用pyppeteer,它下载并启动一个无头chromium,加载网页,呈现页面,然后返回结果。这实际上是可行的,但它只返回登录页面。来自html请求的会话信息不会传递给Pypetteer和/或chromium

是否可以使用相同的会话,或者我是否需要尝试仅使用Pypetteer登录

下面是一个代码示例,但您需要一个带有表单登录和javascript呈现的小网页来尝试:

from requests_html import HTMLSession
from lxml import html

url = "https://example.com"
username = "user@example.com"
password = "hunter2"
session = HTMLSession()
payload = {
    "input_user": username,
    "input_password": password
}
response = session.post(url, data=payload)
# Logged in here
response = session.get(url)
response.html.render()

# Output from this shows login page
print(response.html.html)

您可以安装github版本的请求html,并使用以下参数进行渲染:

response.html.render(send_cookies_session=True)

这将在用于呈现的Chromium页面实例中维护您的会话登录授权。

谢谢您的回答!你能发布一个链接到你正在谈论的github版本吗?