爬虫准备前工作
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 partial subprocess.Popen = partial(subprocess.Popen, encoding="utf-8") import execjs with 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 __filename top = self = window = global document = {} location = {} navigator = {} history = {} screen = {} function getEnv(proxy_array) { for (var i = 0; i7. 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断点
条件断点
日志断点
脚本断点