上回咱们聊了“变脸”(换IP)的神奇,有朋友就兴冲冲地去实践了。结果没过两天,哭丧着脸回来找我:“哥,我都一天换八张脸了,怎么还是被网站揪出来吊打?”
我笑而不语,扔给他一句话:光会换脸,那叫“青铜”操作;真正的高手,玩的是“灵魂伪装”。
你想想,你去朋友家串门,光换件外套有用吗?你一开口,声音没变,走路的姿势没变,甚至身上那股子火锅味都没散,人家能不认出你来吗?网络世界也一样。网站那个门卫(也就是反爬系统),精明得很。它发现你虽然IP地址变了,但你的一举一动,处处都透着“你是机器人”的味儿。

这就要说到我们今天的主角——Headers(请求头)。这玩意儿,就是你递给门卫的那张“身份简介”。
首先,你得学会装成个“正常人”。最关键的一个参数叫 User-Agent。这就好比你的“声线”。你每次访问,都得告诉网站你是用啥浏览器看的。Chrome、Firefox、Safari,你得轮着来,别总用一个。你要是总用一个老掉牙的版本,门卫一看:“这人还用着五年前的手机系统?”——完蛋,直接请你吃闭门羹。
但这还不够,因为机器人做事太“标准”了。正常人看网页,是先看HTML骨架,再加载CSS样式,最后才显示图片。而机器人呢?它往往跳过中间步骤,直奔主题。所以,你得带上 Referer,也就是“你从哪儿来的”。你不能总像幽灵一样,突然空降到人家网站的内页,你得假装是从百度搜过来的,或者从某个外链点进来的,这才符合人类的行为逻辑。
还有更绝的,叫 Accept-Encoding 和 Accept-Language。这相当于你的“口味偏好”。你告诉网站你能接受压缩数据,能看懂中文简体,这就显得你是个活生生的、有血有肉的中国网民。
把这几样东西配上,你的爬虫就不再是个愣头青了,它变成了一个会呼吸、会思考、会上网冲浪的“老油条”。这时候你再配合上一讲的动态IP,双剑合璧,才能在那片数据的丛林里,来去自如,片叶不沾身。
记住,和反爬系统的斗争,是一场“演技”的较量。把戏做全套,才能笑到最后。
