爬虫准备前工作
1.Pycham的下载
网址:PyCharm: The only Python IDE you need
2.Python的下载
网址:python.org(python3.9版本之后都可以)
3.node.js的下载
网址:Node.js — 在任何地方运行 JavaScript(版本使用18就可以)
4.curl的使用
网址:Convert curl commands to code(复制网址的curl写简单的request)
5.Python代码中运行js代码
import subprocess
from functools import partialsubprocess.Popen = partial(subprocess.Popen, encoding="utf-8")import execjswith open("007 js逆向解密、加密数据.js", encoding="utf-8") as f:jsCode = f.read()
js_compile = execjs.compile(jsCode)
sign = js_compile.call("d", json_data)
6.Proxy补环境监听
// proxy代理监控器
delete __dirname
delete __filenametop = self = window = globaldocument = {}
location = {}
navigator = {}
history = {}
screen = {}function getEnv(proxy_array) {for (var i = 0; i < proxy_array.length; i++) {handler = `{\nget: function(target, property, receiver) {\nconsole.log('方法:get',' 对象:${proxy_array[i]}',' 属性:',property,' 属性类型:',typeof property,' 属性值类型:',typeof target[property]);return target[property];},set: function(target, property, value, receiver){\nconsole.log('方法:set',' 对象:${proxy_array[i]}',' 属性:',property,' 属性类型:',typeof property,' 属性值类型:',typeof target[property]);return Reflect.set(...arguments);}}`eval(`try {${proxy_array[i]};${proxy_array[i]} = new Proxy(${proxy_array[i]}, ${handler});} catch (e) {${proxy_array[i]} = {};${proxy_array[i]} = new Proxy(${proxy_array[i]}, ${handler});}`)}
}proxy_array = ['window', 'document','location', 'navigator', 'history', 'screen']
getEnv(proxy_array)
7. webpack细节
-
开头进行补环境 window = global (先运行,看哪些环境需要进行补)
-
在加载函数中,注释初始化,一般在加载器函数中(最后一行)的进行注释 例如: // o(o.s = 0)
-
全局要调用加载器函数(看加载器函数中调用的是哪个对象就调用哪个全局变量) 例如: o.e/o.c/o.r(这时候我们就可以这样调用window.zhang = o)
-
打上执行模块日志,也在加载器函数中 (console.log("t:::",t))
使用webpack的步骤
(1) 定位入口确认使用了webpack对象
(2) 断点加载器,一般通过刷新页面触发
(3) 注意这是一个单文件的还是多文件的webpack
(4) 将加载器文件拷贝到本地,做以下三件事
-- 全局化
-- 日志
-- 观察初始化(5) 测试加载器的调用,根据模块日志补充mod
8.js入口定位查找方法
第1知识点:关于json请求体
第2知识点:关于精准请求(如何排除干扰请求)
第3知识点:入口定位
一、关键字方法
(1) 方法关键字
encrypt :加密入口
decrypt :解密入口
JSON.stringify:加密入口
JSON.parse:解密入口
(2) key关键字
(3) headers关键字 xxx()
(4) 拦截器关键字
interceptors.request.use
interceptors.response.use
(5) 路径关键字第4知识点:断点与断点调试
普通断点
XHR断点
条件断点
日志断点
脚本断点
相关文章:
爬虫准备前工作
1.Pycham的下载 网址:PyCharm: The only Python IDE you need 2.Python的下载 网址:python.org(python3.9版本之后都可以) 3.node.js的下载 网址:Node.js — 在任何地方运行 JavaScript(版本使用18就可…...
JVM——JVM 是如何处理异常的?
JVM 是如何处理异常的? 在 Java 编程语言中,异常处理是一种强大的机制,用于应对程序运行时出现的错误和意外情况。而 Java 虚拟机(JVM)作为 Java 程序运行的核心环境,在异常处理过程中扮演着至关重要的角色…...
网络基础-----C语言经典题目(12)
一、MTU,IP 协议头中 TTL是什么? MTU 指的是网络层能够接收的最大数据包大小,单位为字节。主要作用是限制数据链路层一次能够传输的数据量。 IP 协议头中的 TTL 是 IP 数据头部的一个 8 位字段,最初它的设计目的是限制数据包在网络…...
【第十六届蓝桥杯省赛】比赛心得与经验分享(PythonA 组)
文章目录 一、我的成绩二、我的备赛经历三、如何备赛(个人观点)1. 基础语法2. 数据结构3. 算法4. 数学 四、做题技巧与注意事项五、我的题解试题A 偏蓝 🏆100%试题B IPV6 🏆0%试题C 2025图形 🏆100%试题D 最大数字 &am…...
解决Maven项目中报错“java不支持版本6即更高的版本 7”
错误背景 当Maven项目编译或运行时出现错误提示 Java不支持版本6即更高的版本7,通常是由于项目配置的JDK版本与当前环境或编译器设置不一致导致的。例如: 项目配置的Java版本为6或7,但实际使用的是JDK 17。Maven或IDE的编译器未正确指定目标…...
MySQL--索引入门
MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。 Mysql在存储数据之外,数据库系统各种还维护着满足特定查找算法的数据结构,这些数据结构以某种引用(指向)表中的数据…...
【网络原理】深入理解HTTPS协议
本篇博客给大家带来的是网络原理的知识点, 由于时间有限, 分三天来写, 本篇为线程第三篇,也是最后一篇. 🐎文章专栏: JavaEE初阶 🚀若有问题 评论区见 ❤ 欢迎大家点赞 评论 收藏 分享 如果你不知道分享给谁,那就分享给薯条. 你们的支持是我不断创作的动…...
利用Elixir中的原子特性 + 错误消息泄露 -- Atom Bomb
题目信息: This new atom bomb early warning system is quite strange… 题目使用 elixir 语言 一开始,我们会访问 /page.html <!DOCTYPE html> <!-- 设定文档语言为英语 --> <html lang"en"> <head><!-- 设定字符编码为UTF-8 --><…...
机器人--STM32
STM32启动模式 1,从主闪存存储启动器启动(默认) 2,从系统存储启动器启动 下载程序时需要使用的启动方式。 3,从内置的SRAM启动...
LVGL -文本显示 英文、中文
1 文本 在 LVGL 中,文本控件(Label)是一种基本的 UI 组件,用于显示文本信息。文本控件可以用于各种场景,如显示状态信息、提示消息、标题等。在图形用户界面(GUI)开发中,文本是传达信息和指导用户的重要组成部分。为了有效地展示文本,以下是与文本相关的几个关键方面…...
Java面试资源获取
🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 **1. GitHub开源项目****2. 技术博客与社区*…...
探索 Spring AI 的 ChatClient API:构建智能对话应用的利器
探索 Spring AI 的 ChatClient API:构建智能对话应用的利器 前言 在当今人工智能蓬勃发展的时代,智能对话系统成为了众多应用的核心组成部分。无论是客服机器人、智能助手还是聊天应用,都离不开高效、灵活的对话处理能力。Spring AI 作为 S…...
Java大师成长计划之第11天:Java Memory Model与Volatile关键字
📢 友情提示: 本文由银河易创AI(https://ai.eaigx.com)平台gpt-4o-mini模型辅助创作完成,旨在提供灵感参考与技术分享,文中关键数据、代码与结论建议通过官方渠道验证。 在多线程编程中,线程的执…...
java学习之数据结构:一、数组
主要是对数组所有的东西进行总结,整理 适合小白~ 目录 1.什么是数组 1.1数组定义 1.2数组创建 1)静态创建 2)动态创建 1.3数组遍历 1)for和while遍历 2)foreach遍历 2.数组越界问题及解决 2.1数组越界问题 2…...
Oracle OCP认证考试考点详解083系列04
题记: 本系列主要讲解Oracle OCP认证考试考点(题目),适用于19C/21C,跟着学OCP考试必过。 16. 第16题: 题目 解析及答案: 关于使用恢复管理器(RMAN)恢复表,以下哪三项是…...
MARM:推荐系统中的记忆增强突破
文章目录 1. 背景1.1 模型规模与推荐系统的挑战1.2 缓存技术在推荐系统中的潜力1.3 推荐系统中的数据与计算需求1.4 复杂度对比1.5 MARM模型的创新性 2. 方法2.1 流程2.1.1 序列生成器2.1.2 外部缓存查找2.1.3 多目标注意力机制2.1.4 发结果到缓存 **2.2 MARM与SIM**2.2.1 SIM的…...
INP指标
什么是INP(Interaction to Next Paint) 参考网站:webVital-INP文档 定义与核心目标 INP 是一项稳定的 Core Web Vitals 指标,通过统计用户访问期间所有符合条件的互动约定时间,评估网页对用户操作的总体响应能力。最…...
Flink 的状态机制
在实时流处理领域,状态管理是构建复杂业务逻辑的核心能力。Apache Flink 通过统一的状态抽象和高效的容错机制,为开发者提供了从毫秒级窗口聚合到 TB 级历史数据关联的全场景支持。本文将深入剖析 Flink 状态机制的底层原理,结合实际案例展示…...
【PostgreSQL数据分析实战:从数据清洗到可视化全流程】1.1 数据库核心概念与PostgreSQL技术优势
👉 点击关注不迷路 👉 点击关注不迷路 👉 点击关注不迷路 文章大纲 深度解析PostgreSQL核心架构与技术优势:从数据库原理到实战场景1.1 数据库核心概念与PostgreSQL技术优势1.1.1 关系型数据库核心架构解析1.1.1.1 数据库系统的底…...
linux下,ollama会把模型文件保存在哪里?
文章目录 运行ollama,有两种形式,估计得分开讨论首先是使用自动启动的ollama:先跑个“小一点的大模型”但是现在模型文件存在哪儿呢?运行ollama,有两种形式,估计得分开讨论 我们用两种方式,来运行ollama。 首先是使用自动启动的ollama: ps -aux | grep ollama系统自…...
EMMC存储性能测试方法
记于 2022 年 9 月 15 日 EMMC存储性能测试方法 - Wesley’s Blog 参考Android-emmc性能测试 | 一叶知秋进行实践操作 dd 命令 页面缓存 为了测试 emmc 的真实读写性能,我们需要先把页面缓存给清理: echo 1 > /proc/sys/vm/drop_caches console:…...
19. LangChain安全与伦理:如何避免模型“幻觉“与数据泄露?
引言:当AI成为企业"数字员工"时的责任边界 2025年某金融机构因AI客服泄露用户信用卡信息被罚款2300万美元。本文将基于LangChain的安全架构与Deepseek-R1的合规实践,揭示如何构建既强大又安全的AI系统。 一、AI安全风险矩阵 1.1 2025年最新威…...
5月3日日记
上午睡到自然醒(其实六点多被我爸叫起来抢火车票,发现明天中午的软卧候补上了,挺好的)然后继续睡到快10点。 中午吃的什么来着,好像是西红柿炒鸡蛋和藜麦饭,有个鱼不是很想吃就没吃 中午打了两把吃鸡&…...
C++类_构造函数
在 C11 里,类的构造函数有多种类型,下面为你详细介绍各类构造函数并给出示例代码。 1. 默认构造函数 默认构造函数是没有参数的构造函数,要是没有为类定义任何构造函数,编译器会自动生成一个默认构造函数。 2. 带参数的构造函数…...
【React】Hooks useReducer 详解,让状态管理更可预测、更高效
1.背景 useReducer是React提供的一个高级Hook,没有它我们也可以正常开发,但是useReducer可以使我们的代码具有更好的可读性,可维护性。 useReducer 跟 useState 一样的都是帮我们管理组件的状态的,但是呢与useState不同的是 useReducer 是集…...
Runnable组件重试机制降低程序错误率
一、LangChain 重试机制深度解析 当构建生产级AI应用时,with_retry() 机制可有效提升系统容错性,典型应用场景包括: API调用频率限制时的自动恢复模型服务临时不可用的故障转移网络波动导致的瞬时异常处理 参数详解与配置策略 1. 参数配置…...
纹理过滤方式和纹理包裹方式
纹理过滤方式 纹理过滤方式有临近过滤(Nearest)和双线性插值过滤(Linear),什么时候用什么过滤方式其实看个人选择,区别就是临近过滤是当需要的像素大于图片像素时候,一些像素点需要复用与他相近…...
55.[前端开发-前端工程化]Day02-包管理工具npm等
包管理工具详解 npm、yarn、cnpm、npx、pnpm 1 npm包管理工具 代码共享方案 包管理工具npm 2 package配置文件 npm的配置文件 方式二 常见的配置文件 常见的属性 常见的属性 常见的属性 依赖的版本管理 常见属性 npm install 命令 项目安装 3 npm install原理 npm instal…...
Maven安装配置以及Idea中的配置教程
一、下载Maven 我使用的是3.9.9的版本: 下载地址:Download Apache Maven – Maven 二、安装 将下载好的Maven压缩包解压到一个路径不包含中文的文件夹: 三、配置环境变量 以win11系统为例: 1.鼠标右键此电脑->属性->…...
【JavaScript】性能优化:打造高效前端应用
文章目录 一、执行效率优化(关键路径优化)1.1 算法时间复杂度控制1.2 Web Workers多线程计算二、内存管理(避免内存泄漏)2.1 定时器清理2.2 DOM引用释放三、DOM操作优化(渲染性能)3.1 批量DOM更新3.2 读写分离策略四、网络传输优化(加载性能)4.1 代码分割(Dynamic Imp…...
【C语言练习】018. 定义和初始化结构体
018. 定义和初始化结构体 018. 定义和初始化结构体1. 定义结构体示例1:定义一个简单的结构体输出结果2. 初始化结构体示例2:在声明时初始化结构体输出结果示例3:使用指定初始化器初始化结构体(C99及以上标准支持)输出结果3. 结构体数组示例4:定义和初始化结构体数组输出结…...
Three.js支持模型格式区别、建议
在 Three.js 中,3D 模型的种类和格式非常多样,每种格式都有其适用场景和优缺点。以下是常见的 Three.js 支持的模型格式、它们的区别、使用建议及推荐。 在这里推荐免费的blender工具,免费、占用空间不大,而且好用,前端打开模型时使用不错,或者有自己想做的模型也可以用它…...
JavaScript基础-流程控制概念
在JavaScript编程中,掌握如何控制程序的执行流程是编写功能强大、逻辑清晰代码的关键。流程控制语句允许我们根据不同的条件执行不同的代码块,或者重复执行某些操作,从而实现复杂的功能逻辑。本文将详细介绍JavaScript中的几种主要流程控制结…...
PowerBI企业运营分析——多维度日期指标分析
PowerBI企业运营分析——多维度日期指标分析 欢迎来到Powerbi小课堂,在竞争激烈的市场环境中,企业运营分析平台成为提升竞争力的核心工具。 通过整合多源数据、实时监控关键指标,该平台能够精准分析业务表现,快速识别问题与机会…...
施磊老师rpc(三)
文章目录 mprpc框架项目动态库编译框架生成动态库框架初始化函数-文件读取1. 为什么要传入 argc, argv2. 读取参数逻辑3. 配置文件设计 init部分实现 mprpc配置文件加载(一)配置文件加载类成员变量主要方法**src/include/mprpcconfig.h** 配置文件**bin/test.conf** 实现配置文…...
k8s 探针
Kubernetes 中的探针(Probes)用于检测容器的健康状态或就绪状态,确保应用在运行时的可靠性。Kubernetes 提供三种探针类型,它们的核心区别在于用途和失败后的处理逻辑。以下是它们的详细说明和对比: 1. 启动探针&…...
MIT6.S081-lab8
MIT6.S081-lab8 1. Large files 从 lecture 我们可以知道,我们目前的单个文件的最大大小很小,这是因为我们能够索引的索引块范围很小,实际上,目前的索引只有直接索引和一级索引,而这个实验就是需要我们去实现二级索引…...
【RabbitMQ】 RabbitMQ快速上手
文章目录 一、RabbitMQ 核心概念1.1 Producer和Consumer2.2 Connection和Channel2.3 Virtual host2.4 Queue2.5 Exchange2.6 RabbitMQ工作流程 二、AMQP协议三 、web界面操作4.1 用户相关操作4.2 虚拟主机相关操作 四、RabbitMQ快速入门4.1 引入依赖4.2 编写生产者代码4.2.1 创…...
使用Rust + WebAssembly提升前端渲染性能:从原理到落地
一、问题背景:为什么选择WebAssembly? 最近在开发数据可视化大屏项目时,我们遇到了一个棘手的问题:前端需要实时渲染10万数据点的动态散点图,使用纯JavaScript Canvas方案在低端设备上帧率不足15FPS。经过性能分析&a…...
【quantity】9 长度单位模块(length.rs)
代码是用Rust语言定义的一组长度单位类型,利用了泛型和类型别名来创建带不同SI前缀的长度量。下面是详细解释: 基础结构: 使用了Quantity<V, P, Meter>作为基础类型,表示一个带有值类型V、前缀P和单位Meter的量。 Meter是…...
网络通信领域的基础或流行协议
一、TCP(传输控制协议) 1. 宏观介绍 TCP:全称“Transmission Control Protocol”——传输控制协议,是互联网最基础的传输协议之一。传输层协议,提供面向连接、可靠的字节流传输服务。它通过三次握手建立连接、四次挥手断开连接,确保数据有序、完整地传输作用:让两个设备…...
STM32——GPIO
1、GPIO简介 GPIO(General Purpose Input Output)通用输入输出口 可配置为8种输入输出模式 引脚电平:0V~3.3V,部分引脚可容忍5V 输出模式下可控制端口输出高低电平,用以驱动LED、控制蜂鸣器、模拟通信协议输出时序等 …...
AE模板 300个故障干扰损坏字幕条标题动画视频转场预设
这个AE模板提供了300个故障干扰损坏字幕条标题动画视频转场预设,让您的视频具有炫酷的故障效果。无论是预告片、宣传片还是其他类型的视频,这个模板都能带给您令人惊叹的故障运动标题效果。该模板无需任何外置插件或脚本,只需一键点击即可应用…...
2025-2026 XCPC
基本信息 本赛季由 jr-zlw \texttt{\color{#AA00AA}{jr-zlw}} jr-zlw, Skyzhou \texttt{\color{#03A89E} Skyzhou} Skyzhou 和 sunchaoyi \texttt{\color{#0000FF}sunchaoyi} sunchaoyi 组队,全靠大佬带飞~。 训练记录 2025.05.02 The 2023 Guangdong Provinci…...
list类的详细讲解
【本节目标】 1. list的介绍及使用 2. list的深度剖析及模拟实现 3. list与vector的对比 1. list的介绍及使用 1.1 list的介绍 1. list 是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。 2. list 的底层是双向链表结构&a…...
中小企业MES系统数据库设计
版本:V1.0 日期:2025年5月2日 一、数据库架构概览 1.1 数据库选型 数据类型数据库类型技术选型用途时序数据(传感器读数)时序数据库TimescaleDB存储设备实时监控数据结构化业务数据关系型数据库PostgreSQL工单、质量、设备等核心…...
wfp CommandParameter 详细解说
WPF 中的 CommandParameter 是命令模型中的关键属性,用于向命令的执行逻辑传递动态参数。以下是其主要特性和应用场景的详细解析: 1. 基本概念与用法 数据传递机制 CommandParameter 通常与 Command 属性配合使用,允许在 XAML 中静态定义参数或在绑定中动态传递值。…...
正弦波、方波、三角波和锯齿波信号发生器——Multisim电路仿真
目录 Multisim使用教程说明链接 一、正弦波信号发生电路 1.1正弦波发生电路 电路组成 工作原理 振荡频率 1.2 正弦波发生电路仿真分析 工程文件链接 二、方波信号发生电路 2.1 方波发生电路可调频率 工作原理 详细过程 2.2 方波发生电路可调频率/可调占空比 调节占空比 方波产生…...
Java语言概述
Java语言概述 什么是程序? 程序是计算机执行某些操作或解决某个问题而编写的一系列有序指令单集合。 举例: 计算11,并把结果写在黑板上 计算11,并把结果显示在屏幕上(按编程语言规定的语句࿰…...
截图软件、画图软件、左右分屏插件、快捷键
截图软件 画图软件 画图时候按字母可以改变颜色:红色r,蓝色b,绿色g,粉色p,橙色o 左右分屏: 快捷键 1.打开文件或文件夹: CtrlP:快速打开文件。CtrlR:快速打开文件或文件夹。 2.文件操作: CtrlN&…...