
python爬虫获取获取script标签js中的变量
·
标题需求:获取script标签中的变量值
项目背景
在进行网页爬取时,有时候需要获取网页中的一些动态生成的数据,这些数据可能是通过JavaScript代码动态生成的。而这些JavaScript代码通常被包含在
目的:从网页的HTML源代码中提取出
思路:
我们将使用Python编写一个爬虫程序,通过解析HTML源代码,定位到
导入包:
import requests
from bs4 import BeautifulSoup
import re
解析js变量方法:
def get_js_var(self, html):
# 使用BeautifulSoup解析HTML源代码
soup = BeautifulSoup(html, "html.parser")
# 获取所有的<script>标签
script_tags = soup.find_all("script")
# 提取<script>标签中的JavaScript代码
javascript_code = []
for script_tag in script_tags:
code = script_tag.string
if code:
javascript_code.append(code)
# 使用正则表达式匹配变量值
pattern = r"var\s+(\w+)\s*=\s*(.*?);"
# 我这里是写了一个我需要默认值,可能有些页面并没有这个变量
variables = {'js_video_url': None}
for code in javascript_code:
matches = re.findall(pattern, code)
for match in matches:
variable_name = match[0]
variable_value = match[1]
variables[variable_name] = variable_value
return variables
方法调用:
# 发送GET请求,获取网页源代码
url = ""
response = requests.get(url)
html = response.text
# 获取JavaScript的变量,返回变量集合
jsObject = self.get_js_var(html=html)
更多推荐
相关推荐
查看更多
DeepSeek-V3-0324

DeepSeek最新推出DeepSeek-V3-0324版本,参数量从6710亿增加到6850亿,在数学推理、代码生成能力以及长上下文理解能力方面直线飙升。
CangjieMagic

基于仓颉编程语言构建的 LLM Agent 开发框架,其主要特点包括:Agent DSL、支持 MCP 协议,支持模块化调用,支持任务智能规划。
electron

使用Electron构建跨平台桌面应用程序,支持JavaScript、HTML和CSS
热门开源项目
活动日历
查看更多
直播时间 2025-03-13 18:32:35

全栈自研企业级AI平台:Java核心技术×私有化部署实战
直播时间 2025-03-11 18:35:18

从0到1:Go IoT 开发平台的架构演进与生态蓝图
直播时间 2025-03-05 14:35:37

国产工作流引擎 终结「996」开发困局!
直播时间 2025-02-25 14:38:13

免费开源宝藏 ShopXO,电商系统搭建秘籍大公开!
直播时间 2025-02-18 14:31:04

从数据孤岛到数据智能 - 企业级数据管理利器深度解析
目录
所有评论(0)