写了个自用小爬虫,追漫画用,每天刷一次,稳定运行了几个月。
然而,漫画网站是在 cloudflare 上,突然之间就被识别为 BOT,拒绝访问了。可让我非常意外的是,同样的 IP,浏览器访问一点问题都没有!
在 V2 查了前人资料,说是 TLS 指纹技术。顺藤摸瓜,发现了每个客户端都有指纹,难怪相同的 UA/Cookie,curl 不行,浏览器却可以,因为两者的 SSL 指纹是不一样的。( https://browserleaks.com/ssl 里的 JA3 Hash)
于是乎,剩下了二个解决方案:
修改爬虫客户端,模仿浏览器的行为。但问题是,cloudflare 的 tls 指纹算法并没有公开,网上也搜不到相关信息,应该不可能用 JA3 这种开源解决方案。靠猜测编程,是非常不靠谱的行为,遂放弃。
把 google chrome 当成代理服务器,运行一个网页,用 websocket 和爬虫通讯,然后用 ajax 去访问目标站点。
用 AJAX 暂时解决了问题,也不知道几个月后,会不会出现新问题。怀念以前 http 不加密一把梭的年代,什么都是明文,简单明了直接。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.