我有一个很小的内部网页,需要登录。登录后,将加载一个简单的HTML页面,并且有javascript脚本可以加载页面的实际内容。
我要:
我发现有一个名为requests_html的软件包,听起来像目标是能够执行此操作。我设法使用request_html登录该页面并获取所需页面的HTML视图。然后应该可以打电话
response.html.render()
然后和request_html应该使用pyppeteer,下载并启动无头铬,加载网页,呈现页面,然后返回结果。这实际上是有效的,但是它仅返回登录页面。来自request_html的会话信息不会传递到pyppeteer和/或Chrome。
是否可以使用相同的会话,或者我是否需要尝试仅使用pyppeteer登录?
这是一个代码示例,但是您需要一个带有表单登录和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)
答案 0 :(得分:0)
您可以安装request-html的github版本,并使用以下参数进行render():
response.html.render(send_cookies_session=True)
这将维护您在会话中用于呈现的Chromium页面实例中的登录授权。