Skip to content

常见反爬与JS处理

当你开始抓真实网站时,很快就会发现:
真正难的往往不是“发请求”,而是“网站不想让你轻易抓到”。

HTTP 请求头检测

很多网站会检查这些信息:

  • User-Agent
  • Referer
  • Cookie

如果这些信息不合理,网站可能直接拒绝你。

JavaScript 加密与混淆

有些请求参数不是直接写在页面里的,而是浏览器执行 JavaScript 后动态算出来的。

这时你就要学会:

  • 看前端脚本
  • 找参数生成位置
  • 判断是否需要还原逻辑

浏览器开发者工具

后面你会非常频繁地用到这些面板:

  • 元素面板
  • 控制台
  • 源代码
  • 网络面板
  • 调用栈

断点调试

断点可以帮助你看清楚某个参数到底是怎么生成的。
这比盲猜代码逻辑有效得多。

pyexecjs 执行 JS

有些场景下,你会把前端的一段 JS 放到 Python 里执行,以便生成参数。

Selenium 模拟浏览器

如果网站非常依赖浏览器环境,或者页面是强动态渲染,Selenium 就会变得很重要。

验证码处理

真实项目里常见的验证码包括:

  • 字符验证码
  • 滑动验证码
  • 点触验证码

常见加密解密算法

至少要先知道这两个大类:

  • 对称加密
  • 非对称加密

代理池和 Docker

当爬虫更工程化时,你会接触:

  • 代理池
  • Docker 容器环境
  • 更稳定的部署方式

Built with VitePress.