首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python请求打印HTML响应变量

Python请求打印HTML响应变量
EN

Stack Overflow用户
提问于 2021-12-22 08:05:30
回答 3查看 811关注 0票数 -1

我使用下面的脚本从服务器获取临时代码

代码语言:javascript
运行
复制
import requests
from bs4 import BeautifulSoup
payload{
'username':'demo',
'password':'demo'
}
with requests.session() as s:
    r= s.post(192.13.11.100,data=payload)
print(r.text)

剧本上没有问题,

现在,我得到了预期的输出。

代码语言:javascript
运行
复制
<html>
<body>
<script>
var session_key='d2e08508d3';
</script>
<script>
var temporary_data='01';
</script>
</body>
</html>

现在,我想从html输出中获取session_key。

请告诉我如何在html中得到变量。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-12-22 08:26:33

您可以使用RegEx解析它:

代码语言:javascript
运行
复制
import re
regex = re.compile(".*?session_key\=\'(\S+)\'")
session_key = regex.search(r.text).group(1)

在这里您可以进一步测试正则表达式:RegExr

在这里您可以找到一些关于search()方法的文档:再文档

票数 2
EN

Stack Overflow用户

发布于 2021-12-22 08:24:36

试试看:

代码语言:javascript
运行
复制
import re
from bs4 import BeautifulSoup

test_html = f"""
<html>
<body>
<script>
var session_key='d2e08508d3';
</script>
<script>
var temporary_data='01';
</script>
</body>
</html>
"""
soup = BeautifulSoup(test_html)
session_key = re.findall(r"session_key='(.*?)'", soup.find("script").text)[0]
print(session_key)
票数 1
EN

Stack Overflow用户

发布于 2021-12-22 08:58:16

根据这个答案:使用Python中的BeautifulSoup获取HTML源中的JS值

你可以这样做:

代码语言:javascript
运行
复制
from bs4 import BeautifulSoup
from slimit import ast
from slimit.parser import Parser
from slimit.visitors import nodevisitor

data = """<html>
<body>
<script>
var session_key='d2e08508d3';
</script>
<script>
var temporary_data='01';
</script>
</body>
</html>"""

soup = BeautifulSoup(data, "html.parser")
script = soup.find("script", text=lambda text: text and "var session_key" in text)
parser = Parser()
tree = parser.parse(script.text)
for node in nodevisitor.visit(tree):
    if isinstance(node, ast.VarDecl) and node.identifier.value == 'session_key':
        print(node.initializer.value)

请对他所做的工作奖励这个答案:https://stackoverflow.com/a/41020794/17077329

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70445932

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档