上批讲了基础反爬,这次说几个深度对抗的技巧。
1. Cookie 池。
很多网站要登录态才能访问,准备一批账号轮换登录,把 Cookie 存起来随机用。账号 10-20 个就够中小项目用。
2. 浏览器自动化。
requests 搞不定的,用 Playwright / Selenium 跑真浏览器。慢是慢了点,但能绕过 80% 的反爬。
3. JS 逆向。
网站用 JS 动态生成数据,得用 PyExecJS / Node 调一下。复杂的可以用 Pyppeteer 拦截 API。
4. 验证码识别。
简单图形验证码用 ddddocr 这种开源库,几行代码搞定。复杂的(滑动、点选)得上打码平台,几块钱 1000 次。
5. TLS 指纹。
很高级的反爬会检测你的 TLS 握手特征,Python 默认的 urllib 指纹和 Chrome 不一样,会被识别。用 curl_cffi 这种库可以伪装成浏览器。
大部分项目用前 3 个就够,第 4 个偶尔碰到,第 5 个基本不会遇到。
但你只要做爬虫,迟早要面对反爬升级,这套技术栈备着没坏处。
本文由 BBZ · 小朵科技工作室 出品。配套工具:评论采集软件 P07。