逆向课程授课体系
先导课程
授课形式
- 远程连接+QQ语音
编程语法必修课
学完能开发程序系统,并能具备如下能力:
- 1、熟悉编程环境搭建、独立上手编写代码
- 2、掌握程序设计及面向对象编程思维
- 3、掌握常用设计模式以及在实际开发场景中的应用
- 4、掌握数据库编程在实际爬虫业务中的应用
python语法编程
第一章:Python 3 基础入门
-
初识 Python
- Python 简介
- Python 历史
- Python 优缺点
- Python 应用领域
-
数据类型
- 整型
- 浮点型
- 复数
- 数据类型转换
- 常量
-
变量与关键字
- 变量
- 变量名称
-
语句
-
表达式
-
运算符和操作对象
- 什么是操作符和操作对象
- 算术运算符
- 比较运算符
- 赋值运算符
- 位运算符
- 逻辑运算符
- 成员运算符
- 身份运算符
- 运算符优先级
-
字符串操作
-
注释
第二章:列表与元组
- 通用序列操作
- 索引
- 分片
- 序列相加
- 乘法
- 成员资格
- 长度、最小值和最大值
- 列表
- 更新列表
- 元素赋值
- 增加元素
- 删除元素
- 分片赋值
- 嵌套列表
- 列表方法
- 元组
- tuple 函数
- 元组的基本操作
- 访问元组
- 修改元组
- 删除元组
- 元组索引、截取
- 元组内置函数
- 列表与元组的区别
- 列表与元组的相互转化
第三章:字符串
- 字符串的基本操作
- 字符串格式化
- 字符串格式化符号
- 字符串格式化元组
- 转换操作符
- 字符串方法
- find()
- join()
- lower()
- upper()
- swapcase()
- replace()
- split()
- strip()
- translate()
第四章:字典
- 字典的使用
- 创建和使用字典
- dict 函数
- 字典的基本操作
- 修改字典
- 删除字典元素
- 字典键的特性
- len() 函数
- type() 函数
- 字典的格式化字符串
- 字典和列表的区别
- 字典方法
- clear()
- copy()
- fromkeys()
- get()
- key in dict
- items()
- keys()
- setdefault()
- update()
- values()
第五章:条件、循环和其他语句
- 代码编辑器的选择
- import 的使用
- import 语句
- 使用逗号导入
- 别样的赋值
- 序列解包
- 链式赋值
- 增量赋值
- 语句块
- 条件语句
- 布尔变量的作用
- if 语句
- else 子句
- elif 子句
- 嵌套代码块
- 更多操作
- 同一性运算符
- 比较字符串和序列
- 布尔运算符
- 断言
- 循环
- while 循环
- for 循环
- 循环遍历字典元素
- 迭代工具
- 跳出循环
- 循环中的 else 子句
- pass 语句
第六章:函数
- 调用函数
- 定义函数
- 函数的参数
- 必须参数
- 关键字参数
- 默认参数
- 可变参数
- 组合参数
- 执行流程
- 形参和实参
- 变量作用域
- 局部变量
- 全局变量
- 有返回值和无返回值函数
- 为什么要有函数
- 返回函数
- 递归函数
- 匿名函数
第七章:面向对象编程
-
理解面相对象
-
什么是面向对象编程
-
面向对象术语简介
-
-
类的定义与使用
- 类定义
- 类使用
-
深入类
- 类的构造方法
- 类的访问权限
-
继承
-
多态
-
封装
-
多重继承
-
获取对象信息
- 使用 type 函数
- 使用 isinstance 函数
- 使用 dir 函数
-
类的专有方法
- str
- _iter
- getitem
- getattr
- call
第八章:异常与文件处理
-
异常
- 什么是异常
- 异常处理
- 抛出异常
- 捕捉多个异常
- 使用一个块捕捉多个异常
- 捕捉对象
- 全捕捉
- 异常中的 else
- 自定义异常
- finally 子句
- 异常与函数
-
文件操作
- 打开文件
- 文件模式
- 缓存
- 基本文件方法
- 读和写
- 读写行
- 关闭文件
- 文件重命名
- 删除文件
- 对文件内容进行迭代
- 按字节处理
- 按行操作
- 使用 fileinput 实现懒加载式迭代
- 文件迭代器
- StringIO 函数
- 序列化与反序列化
- 一般序列化与反序列化
- JSON 序列化与反序列化
- 打开文件
python并发编程
python数据库编程
JavaScript逆向实战
PC端爬虫工程师
学完能担任爬虫工程师薪资10~20K,并能具备如下能力:
- 1、熟练掌握结构化和非结构化数据抽取、去重、清洗
- 2、熟练掌握主流爬取技术及爬虫框架工具,如Selenium/Pyppeteer/Scrapy/PhantomJS等;
- 3、熟练掌握各种抓包工具,如charles/fiddler/mitmproxy/canary等
- 4、掌握常用设计模式和框架爬虫,如scrapy/feapder分布式等
- 5、熟悉常见反爬封禁策略,能解决如封账号、IP、验证码风控等措
- 6、熟练掌握PC端签名验证反爬,能解决各种JavaScript混淆加密措
- 7、熟练安全产品套路,能解决极验证/瑞数/易盾/加速乐等公司产品
采集功底专题
前端网页基础课
HTML5
- html基本结构
- 常用的html标签
- 列表标签
- 表格标签
- 表单标签
CSS3
- css基本介绍
- css选择器
- css属性
- css元素溢出
- css显示特性
- css盒子模型
JavaScript
- js的使用方式
- 变量和数据类型
- js函数的定义和调用
- 变量作用域
- js条件语句
- js获取和操作标签元素
- 数组及操作方法
- 循环语句
- 定时器
- 浏览器的window对象数据
jQuery
- jQuery的基本介绍
- jQuery的引入方法
- jQuery选择器
- 选择集过滤、转移
- 获取和设置元素内容
- jQuery事件、事件代理
- JavaScript对象
- json数据结构
- ajax发送请求
网络请求
requests
- requests源码解析
- requests常用方法
- data/json/param参数传递
- 隧道代理使用
- 证书异常处理
httpx
- httpx 源码解析
- httpx 常用方法
- httpx 上下文处理
- httpx 异步请求
数据解析
-
正则表达式
- 正则原理概述
- 正则通用符号学习
- 分组和通用匹配
- 贪婪和非贪婪模式
- indall/match/search方法
-
xpath
- xpath插件安装
- dom节点学习
- xpath语法学习
- xpath定位文章数据
-
Beautiful
- 基于bs4的环境搭建
- bs4节点选择器
- bs4属性选择器
- bs4层级选择器
数据入库
-
MySQL
- MySQL表结构设计
- MySQL数据写入规范
- MySQL动态传参
- MySQL对接爬虫实战
-
MongoDb
- Mongo数据写入规范
- Mongo数据异常处理
- 爬虫对接Mongo实战操作
-
csv/xlsx
- python对接库环境搭建
- 文档写入格式规范
- 嵌套列表及字典格式写入
- 爬虫对接文档实战操作
-
JSON
- 对象和数组
- json写入规范
- json数据编码
多任务采集
-
多线程
- 多线程适用场景
- 线程池适用场景
- 多线程爬虫操作实践
-
多进程
- 多进程适用场景
- 进程池应用
- 多进程有序抓取
- 多进程无序抓取
- 多进程爬虫操作实践
-
异步抓取
- 异步阻塞和非阻塞
- 异步抓取应用场景
- 异步关键字和aiohttp
- 异步抓取百万数据实践
数据展示篇
-
flask框架源码课
-
echarts可视化精讲
自动化和抓包专题
selenium采集
- selenium自动化环境安装_各版本差异_
- selenium选择元素_id选择器_class选择器_CSS选择器_xpath选择器
- _selenium被监测的特征_绕过浏览器监测
- selenium切换ifname_切换窗口_滚动页面_前进_后退
- 页面冻结_弹窗处理_单选_多选_下拉选择框
- selenium隐性等待_显式等待_
- _selenium模拟登录_cookie处理_结合requests
- selenium采集项目实战
Charles抓包
- charles下载_安装_PC证书配置_激活_
- _charles功能讲解_数据拦截
- 夜神模拟器安装_操作系统版本_应用下载
- charles对接模拟器_证书配置_代理配置
- charles替换CSS和JS文件
- Charles处理跨域请求
框架源码专题
百万级高性能Scrapy框架
- 框架基本使用
- 框架结构识别
- 多种形式项目创建
- scrapy fetch模式
- scrapy常用指令集合
- scrapy配置文件解读
- scrapy管道学习
- scrapy表单处理
- scrapy功能学习
- Selector数据处理
- xpath选择器
- CSS选择器
- 正则选择器
- scrapy对接MySQL
- scrapy对接MongoDb
- scrapy文件存储
- scrapy中间件
- 中间件原理解读
- 下载和响应中间件
- process_reqeust
- process_response
- process_exception
- 中间件优先级别
- 自定义下载中间件
- scrapy媒资下载器
- scrapy邮件监听
大厂必用feapder
- feapder框架简介
- feapder任务调度机制
- feapder中间件实现异常处理
- 框架对接数据库实现存储功能
- 框架对接selenium实现自动化
- feapder分布式采集
- feapder亿级数据去重
千万级分布式scrapy_redis
- scrapy-redis组件-分布式架构原理
- scrapy-redis环境搭建_项目配置_
- _scrapy去重源码重写_scrapy压缩文件
- redis队列机制详解_服务器集群管理_
- _scrapy-redis调度器_去重-指纹
- scrapy-redis优先级_管道-base spider_RedisSpider
- 分布式爬虫部署
- 分布式爬虫项目实战
爬虫集群部署
scrapy框架
- scrapyd环境部署
- scrapyd原理讲解
- scrapyd API处理爬虫
- scrapyd python API处理
- scrapyd 多任务管理
定时任务机制
gerapy部署爬虫
- gerapy环境搭建
- gerapy服务器部署
- gerapy 打包框架项目
- gerapy 集群项目管理
feapder部署
- feapder应用场景和原理
- feapder 镜像拉取
- docker部署feapder部署环境
- feapder 部署爬虫脚本
- feapder 部署scrapy项目
- feapder 部署本框架项目
docker
- Docker应用场景_原理简介
- Docker的特点_优势
- Docker_Docker架构讲解
- Docker管理_启动_停止_状态查看
- Docker_镜像管理_搜索镜像
- Docker_镜像管理_本地镜像_镜像删除
- Docker容器管理_暂停_恢复容器_容器移除
- DockerFile核心指令_创建容器_打包容器
JavaScript逆向专题
浏览器调试
- JS作用域
- 全局作用域
- 局部变量作用域
- 块级作用域
- 浏览器对象属性
- window
- document
- navigator
- location
- 浏览器控制台
- network
- source面板
- application
- 代码调试
- 堆栈调试
- 控制台调试
- XHR调试
- 事件监听
- 无限debugger处理
- JS hook
- XHR hook编写
- header hook编写
- debugger hook
- eval hook
- json hook
- cookie hook
- websocket hook
- hook canvas
国标哈希算法
- sha1算法
- sha256算法
- sha512算法
- md5
- hmac算法
- python和JavaScript实现
国标对称加密
- DES算法
- AES算法
- crypto-js模块使用
- pycryptodome
国标非对称加密
- RSA算法原理
- 非对称特征
- JavaScript算法还原
- jsencrypt
- rsa模块
webpack模块打包
-
webpack打包原理
-
webpack构造形式
- 加载器
- 形参
- 模块
- 数组形式
- 对象形式
-
扣代码补参数
-
加载器导出补模块
-
全局导出加密函数
JS混淆专题讲解
-
JavaScript压缩 混淆原理
-
OB混淆特性
- 变量混淆
- 字符串混淆
- 属性加密
- 控制流平坦化
- 特殊编码
-
OB混淆JavaScript
-
混淆突破实战
cookie反爬处理
- cookie加解密原理
- cookie和session机制
- cookie hook技巧
- acw_sc_v2调试
- jsl cookie调试
- 重定向cookie 调试
JS RPC远程调用
-
RPC概念与通讯原理
-
RPC环境搭建与集群
-
RPC调试技巧终端和注入
-
油猴开发者工具使用
- 油猴脚本注入原理
- 油猴编写方式
- 手把手开发油猴脚本
-
RPC接口调用与动态传参
-
RPC加密算法一把梭
JS 安全产品攻防
-
瑞数产品
- 瑞数安全产品使用场景
- 瑞数产品安全防护讲解
- 瑞数各版本区别与标记
- 瑞数常用调试技巧
- 瑞数加密算法还原
-
加速乐产品
- 加速乐公司与产品介绍
- 加速乐识别与常用技术
- 加速乐防护与破解流程
-
acw_sc__v2系列
- acw_sc系列产品介绍
- acw_sc系列防护和识别
- acw_sc系列加密流程与思路讲解
- acw_sc系列加密算法技术还原
-
Akamai产品
- Akamai产品简介
- Akamai产品逆向分析
- Akamai常见风控措施
- Akamai实战
AST抽象语法树
- 什么是AST技术
- parser API学习
- traverse库学习
- 字符串和编码还原
- 通用常量还原
- evaluate方法学习
- 实战解OB高级混淆
- 极验JavaScript实战解混淆
浏览器脱环境专题
- 浏览器事件学习和编写
- DOM和BOM结构学习
- 浏览器指纹验证排查
- 使用代理自吐环境通杀环境检测
- 脱环境框架编写解决通用环境
- 脱环境插件解决常用环境检测
验证码处理
-
图形验证码
- 图像操作原理
- 验证码生成逻辑
- 一键过验证码
-
协议分析某平台
- 滑块验证码分类
- 验证码接口查询
- 验证码缺口识别
- 验证码轨迹模拟
- 后端校验规则
-
字符点选验证码
- 验证码生成原理
- 验证码突破
- 验证码识别
爬虫逆向案列实战专题
主要分析案例,讲解思路、代码