我们已经准备好了,你呢?

2026我们与您携手共赢,为您的企业形象保驾护航!

python如何获取js里面变量的值

获取变量值的主要途径有三种方式:借助模拟浏览器动作、借助结合解析网页内容、借助网络抓包手段。其中最常见的一种方式是借助模拟浏览器动作,用来抓取动态生成的信息。这种方式能够自动加载相关代码,并获取页面的完整HTML构造,从而提取出所需要的变量信息。下面将进行具体说明。

一、使用模拟浏览器行为

它是一套程序化的检测手段,能够模仿用户在网页上的行为,主要针对那些含有实时更新内容的页面,下面展示一个应用范例:

借助selenium库,可以调用webdriver模块

通过selenium.webdriver.common.by模块可以导入By类

在selenium的webdriver支持模块中,有一个名为WebDriverW的类AIt

在selenium驱动的支持模块中,有一个名为expected_conditions的子模块,这个子模块主要用于定义预期条件

设置Chrome driver路径

驱动程序路径是路径下的路径中的路径

初始化浏览器

驱动程序 = web驱动器.Chrome(驱动路径)

打开目标网址

网址是http://example.com, 它是一个示例链接, 用于展示如何构建网络地址, 该地址包含了域名部分, 以http协议开头, 后面紧跟着具体的站点标识

driver.get(url)

等待JavaScript变量加载

等待对象 = WebDriverWait,参数为驱动程序实例,超时时间为十秒

等待元素出现,直到其具备在页面中的实际存在性,通过指定元素ID为定位依据,最终获取该元素,将其赋值给变量element

获取JavaScript变量值

变量值通过驱动执行脚本获取,脚本内容为返回js变量名

print(variable_value)

关闭浏览器

driver.quit()

这个案例先开启一个浏览器,接着访问指定页面,再等待某个组件完全显示,最后调用函数运行指令,从而得到目标数据。

二、使用和解析网页

当数据在网页初次呈现时已写入HTML代码,可以直接借助工具进行解读,无需执行程序。举一个具体案例来说明。

import requests

from bs4 import BeautifulSoup

发送HTTP请求

url = 'http://example.com'

response = requests.get(url)

解析HTML文档

这个变量用来解析网页内容,它把响应文本当作数据源,并且采用html.parser作为解析器来处理这些数据

提取JavaScript变量值

script_tag通过查找标签,筛选出包含特定文本的script元素,该文本中包含指定字符串,最终获取到匹配的标签对象

if script_tag:

脚本内容等于脚本标记的文本内容

变量值等于提取脚本内容中的指定JavaScript变量名

print(variable_value)

获取脚本内容中的指定变量,需要调用提取函数,并传入脚本文本和变量名作为参数,该函数能够解析代码并返回目标变量的值,整个过程自动化完成,无需人工干预,结果直接输出

# 提取JavaScript变量值的正则表达式

import re

pattern通过正则表达式编译指定模式,该模式用于匹配并提取变量赋值语句中的值,变量名为variable_name,赋值语句的格式为var variable_name = "值",其中值部分通过"(.*?)"捕获,表示匹配任意字符并保存为匹配结果

找到匹配项后,将其赋值给变量match,通过模式在内容中进行搜索

if match:

return match.group(1)

return None

此次演示先发出HTTP请求来取得网页资料,然后借助工具解析HTML文本,再搜寻含有特定参数的部分

二维码
扫一扫在手机端查看

本文链接:https://by928.com/11613.html     转载请注明出处和本文链接!请遵守 《网站协议》
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。

项目经理在线

我们已经准备好了,你呢?

2020我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

13761152229

上班时间

周一到周五

公司电话

二维码
微信
线