-----------动态内容与反爬策略----------
动态页面处理
Selenium:自动化浏览器(点击、滚动、表单提交)
Playwright(更现代的替代方案)
API逆向工程
分析Ajax请求(Chrome DevTools)
直接调用API接口(如知乎热榜API)
反爬应对
User-Agent轮换、IP代理(免费/付费代理池)
验证码处理(简单验证码用OCR,复杂验证码需打码平台)
请求频率控制(time.sleep随机延迟)
实战项目:
爬取动态渲染的电商网站(如京东商品评论)
---------爬虫框架与效率优化-----------
Scrapy框架
项目结构、Spider编写、Item Pipeline
中间件(User-Agent、代理中间件)
数据存储(MySQL/MongoDB)
异步爬虫
aiohttp + asyncio(高并发请求)
分布式爬虫
Scrapy-Redis搭建分布式爬虫
实战项目:
用Scrapy爬取新闻网站(如新浪新闻)并存入数据库
------------高级技巧与扩展---------
数据清洗与存储
pandas处理结构化数据
数据库:MySQL(关系型)、MongoDB(非关系型)
爬虫监控
日志记录(logging模块)
异常捕获与重试机制
-----进阶------
-------高级反爬对抗与逆向工程------
1.1 深度反爬策略与破解
常见反爬手段:
封IP(代理池+IP轮换)
User-Agent检测(动态生成+浏览器指纹)
请求参数加密(如_signature、token)
行为验证(鼠标轨迹、点击验证码)
前端JS加密(如obfuscation混淆代码)
解决方案:
动态IP代理:付费代理(快代理、芝麻代理)、Tor网络、ADSL拨号
请求签名破解:Python模拟JS加密(如PyExecJS、Node.js子进程)
浏览器指纹伪装:selenium-wire + undetected-chromedriver
验证码绕过:
简单验证码:Tesseract OCR(需训练)
复杂验证码:打码平台(如超级鹰、图鉴)
行为验证:selenium模拟人工操作
----------JavaScript逆向(核心)----------
目标:爬取数据被前端JS加密的网站(如电商、社交媒体)
技术栈:
Chrome DevTools:调试JS,定位加密函数(XHR断点、堆栈追踪)
AST抽象语法树:反混淆JS代码(Babel解析)
Python执行JS:
PyExecJS(调用本地Node.js)
PyMiniRacer(V8引擎绑定)
js2py(纯Python实现,兼容性差)
实战案例:
破解某电商平台的_token生成逻辑
逆向某短视频APP的API加密参数(如X-Signature)
------------APP爬虫与协议分析-----------
2.1 移动端抓包
工具:
Android/iOS抓包:Charles、Fiddler、mitmproxy
HTTPS解密:安装CA证书(需Root/越狱)
Packet Capture(免Root抓包)
分析技巧:
拦截API请求,分析加密参数(如sign、timestamp)
模拟APP登录(提取token或session)
-------------逆向APP(进阶)---------
Android逆向:
反编译APK:Jadx、Apktool
Hook框架:Frida(动态注入)、Xposed(需Root)
脱壳:对付加固(如梆梆加固、360加固)
iOS逆向:
砸壳:frida-ios-dump
静态分析:Hopper Disassembler
动态调试:LLDB
实战案例:
爬取某新闻APP的加密API数据
逆向某社交APP的私信接口
------------分布式与高性能爬虫-------------
3.1 分布式爬虫架构
Scrapy-Redis:
基于Redis的任务队列(去重、调度)
多机协同爬取(主从模式)
Celery + RabbitMQ:
异步任务分发(适合大规模爬虫)
Kafka + Spark(超大规模数据):
实时流式爬虫(如舆情监控)
-----------高性能优化-----------
异步IO:
aiohttp + asyncio(万级并发)
httpx(支持HTTP/2)
无头浏览器优化:
Playwright(比Selenium更快)
puppeteer(Node.js方案,可配合Python调用)
-----------爬虫工程化与部署--------------
4.1 爬虫管理
任务调度:
Scrapyd(部署Scrapy项目)
Airflow(定时任务+监控)
可视化监控:
Prometheus + Grafana(实时监控爬虫状态)
Logstash + ELK(日志分析)
4.2 数据存储优化
数据库选型:
关系型:PostgreSQL(JSON支持好)、MySQL
NoSQL:MongoDB(灵活)、Elasticsearch(全文搜索)
大数据存储:
HDFS + Spark(PB级数据)
ClickHouse(高性能分析)
---------------前沿技术与综合实战---------------
5.1 深度学习辅助爬虫
OCR识别:
PaddleOCR(高精度识别验证码)
OpenCV预处理(去噪、二值化)
NLP分析:
情感分析(爬取评论数据)
关键词提取(新闻聚合)
5.2 综合实战项目
电商比价系统:
爬取淘宝、京东、拼多多价格 + 自动比价
数据存储 + 可视化(Dash/Streamlit)
社交媒体舆情监控:
爬取微博/推特 + 情感分析(NLTK/TextBlob)
全网招聘数据分析:
爬取BOSS直聘、拉勾 + 薪资预测模型