python - 在Python中使用BeautifulSoup获取HTML源中的JS var值

标签 python beautifulsoup

我正在尝试使用 BeautifulSoup 从 HTML 源代码中获取 JavaScript var 值。

例如我有:

<script>
[other code]
var my = 'hello';
var name = 'hi';
var is = 'halo';
[other code]
</script>

我想要返回 Python 中 var“my”的值

我怎样才能实现这一目标?

最佳答案

最简单的方法是使用正则表达式模式通过BeautifulSoup定位元素并提取所需的子字符串:

import re

from bs4 import BeautifulSoup

data = """
<script>
[other code]
var my = 'hello';
var name = 'hi';
var is = 'halo';
[other code]
</script>
"""

soup = BeautifulSoup(data, "html.parser")

pattern = re.compile(r"var my = '(.*?)';$", re.MULTILINE | re.DOTALL)
script = soup.find("script", text=pattern)

print(pattern.search(script.text).group(1))

打印 hello

关于python - 在Python中使用BeautifulSoup获取HTML源中的JS var值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41020606/

相关文章:

python - 查找不超过给定字符长度的所有字符串组合

python - 在给定时间内匹配连续重复的反向引用,仅此而已

javascript - beautifulsoup 删除所有内部 javascript

Python Web Scraping 从 url 保存 Tik Tok 视频

Python - 在本地保存请求或 BeautifulSoup 对象

python - Google App Engine - 获取父键或祖先路径的属性

Python:哪个命令会增加 Windows 上打开文件的数量?

python - 在 Python 中首先将对象属性初始化为类属性

mysql - 定期进行网络抓取,以抓取自上次运行以来网站上的新信息

python - Ubuntu - 如何在 Python 3.3 而不是 Python 2.7 上安装 Python 模块 (BeautifulSoup)?