最近爬虫遇到了一个吊诡的事情:更换 virtualenv 环境会导致反爬

2020-07-14 16:46:02 +08:00
 Te11UA
前提:爬取的是亚马逊。爬虫代码不变,俩 virtualenv 都装了一模一样的包,在同一台机子上,用同一个代理。

其中一个环境一直出验证码和 503,但是切换到另外一个环境上却都是正常响应。另外,使用抓包软件看的话,一直出验证码的环境走抓包软件代理后也会正常,但一不用就恢复原状……

使用了最简单的 requests demo 也是一模一样的情况

有没有同学遇到过一样的问题呢? 或者说有什么排查点呢?

PS: 被反爬的环境是一直在运行爬虫代码的,目测可能是有机器学习机制,但是特征点完全找不到在哪,HTTP 层是一模一样的,TCP 层粗略看了下也没什么区别……
4023 次点击
所在节点    Python
31 条回复
Te11UA
2020-07-15 11:24:46 +08:00
@qqqqq9898 如果说是 InterfaceID 和 MAC 地址的话,抓包看都是一模一样的
smplesugar
2020-07-15 11:24:51 +08:00
wx base64: bHN6OTU5
Te11UA
2020-07-15 11:28:09 +08:00
@locoz 敢问用 Python 跑的话,抓包怎么解密 SSL ?只用过浏览器的 SSLKEY
qqqqq9898
2020-07-15 11:32:21 +08:00
@Te11UA 包括但不限于 CPU 内存 插件 UA 时区 GPU 分辨率 浏览器指纹 还有于用验证的 metadata 等等, 供你参考
hushao
2020-07-15 11:35:04 +08:00
看下某些地方是不是有随机的可能?
locoz
2020-07-15 11:41:01 +08:00
@Te11UA #23 emmm ?不需要解密啊,看握手的那部分就好了。
Te11UA
2020-07-15 11:42:34 +08:00
@qqqqq9898 你说的这些是反爬用到的,用 chromedp 和 selenium 之类的可以操作,但是我想问的是俩 Python 环境之间有什么差别会导致这种现象呢? CPU 内存之类的应该不会有差别吧
wangritian
2020-07-15 11:42:36 +08:00
直觉上是某个 http header 引起的,http 版本? keep-alive ?
qqqqq9898
2020-07-15 12:34:34 +08:00
@Te11UA 给你一个思考方向 具体的问题只能你自己调试了 我不用 PYTHON 和无头做爬虫 所以你的问题虽然大概是出在这方面 但我没办法给你具体的解决方法
zhbzhbzhbz
2020-07-15 13:06:44 +08:00
@rayhy 这个厉害了~
PEax
2022-09-19 15:28:51 +08:00
老哥,遇到了同样的问题,解决了吗

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/689979

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX