
获取变量值的主要途径有三种方式:借助模拟浏览器动作、借助结合解析网页内容、借助网络抓包手段。其中最常见的一种方式是借助模拟浏览器动作,用来抓取动态生成的信息。这种方式能够自动加载相关代码,并获取页面的完整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文本,再搜寻含有特定参数的部分
扫一扫在手机端查看
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。


客服1