Skip to content

爬虫与 Web 逆向

从零开始的 Python 爬虫教程,分为基础爬虫Web 逆向两个部分:

  • 基础爬虫:HTTP 原理、requests 请求、数据提取、数据存储、并发加速、浏览器自动化、抓包与代理、Scrapy 框架与分布式。
  • Web 逆向:JS 基础与浏览器调试、Hook 与扣代码、加密算法还原、Webpack 混淆与 AST、以及补环境、Cookie 反爬、验证码等进阶专题。

目录

第一部分 · 基础爬虫

第二部分 · Web 逆向

术语速查

初学时经常被术语绕晕,这里集中解释教程中反复出现的概念:

术语通俗解释
抓包把浏览器与服务器之间的请求/响应记录下来查看,找数据位置的第一步
接口(API)返回 JSON 等结构化数据的网址,爬虫最爱的目标
Ajax / XHR页面加载后由 JS 在后台发出的请求(不刷新页面),动态数据都在这类请求里
请求头(Headers)请求自带的「名片」:UA、Referer、Cookie 等,反爬检测的主战场
UA(User-Agent)声明「我是哪个浏览器」的字符串,不带它服务器一眼认出你不是浏览器
Cookie / Session浏览器存的身份凭证 / 服务器端的会话记录,带 Cookie 才算「登录着的人」
Token服务端下发的临时通行证,常出现在请求头或参数里
代理 / 高匿用别人的 IP 访问目标站;高匿指服务器完全看不出你在用代理
并发 / 异步同时发多个请求而不是一个个排队等;异步是单线程内高效等待的实现方式
反反爬破解网站反爬手段的统称:随机 UA、Cookie 管理、代理、限速…
逆向 / 扣代码分析前端加密逻辑并在本地复现;扣代码指把加密函数复制到 Node 本地执行
补环境在 Node 里伪造浏览器对象(window/navigator…),让网站 JS「以为」在浏览器里运行
加密 / 哈希加密可逆(有密钥能解回),哈希(摘要)单向不可逆,只用于校验与签名
密钥 / IV / Padding对称加密三要素:钥匙 / 初始化向量 / 补齐明文长度的填充规则
混淆 / AST把代码改得难读(变量乱名、字符串加密);AST 是把代码变成可程序化修改的语法树
指纹数据指纹:内容哈希,用于去重;浏览器/TLS 指纹:客户端特征,用于风控
Webpack / WASM前端模块打包器(加密逻辑拆散在模块里)/ 浏览器字节码格式(加密核心藏在 .wasm)
Hook拦截并替换原函数(如 JSON.stringify、cookie 写入),在加密点断下定位
打码平台花钱让 AI/人工帮你识别验证码的第三方服务

声明

本教程仅供学习与技术交流使用,请遵守目标网站的 robots.txt 与相关法律法规:控制请求频率、不采集敏感个人信息、不将爬取数据用于商业或非法用途。逆向相关内容仅用于理解前端加密原理。

最近更新