写了个自用小爬虫,追漫画用,每天刷一次,稳定运行了几个月。
然而,漫画网站是在 cloudflare 上,突然之间就被识别为 BOT,拒绝访问了。可让我非常意外的是,同样的 IP,浏览器访问一点问题都没有!
在 V2 查了前人资料,说是 TLS 指纹技术。顺藤摸瓜,发现了每个客户端都有指纹,难怪相同的 UA/Cookie,curl 不行,浏览器却可以,因为两者的 SSL 指纹是不一样的。( https://browserleaks.com/ssl 里的 JA3 Hash)
于是乎,剩下了二个解决方案:
修改爬虫客户端,模仿浏览器的行为。但问题是,cloudflare 的 tls 指纹算法并没有公开,网上也搜不到相关信息,应该不可能用 JA3 这种开源解决方案。靠猜测编程,是非常不靠谱的行为,遂放弃。
把 google chrome 当成代理服务器,运行一个网页,用 websocket 和爬虫通讯,然后用 ajax 去访问目标站点。
用 AJAX 暂时解决了问题,也不知道几个月后,会不会出现新问题。怀念以前 http 不加密一把梭的年代,什么都是明文,简单明了直接。
1
whileFalse 2021-08-01 07:32:33 +08:00 via iPhone 26
所以网站凭什么白给你爬?
|
2
junksheng 2021-08-01 08:21:29 +08:00 via Android
你想白女票,自然要做好斗智斗勇的准备
|
3
hideokuze 2021-08-01 08:21:54 +08:00
这些事情属于“偷偷的进村,打枪的不要”,就是占网站便宜。要是真闹腾起来了怕不是连这个渠道都给你堵上了。
|
4
dingwen07 2021-08-01 09:17:35 +08:00 via Android
试试看 headless ?不过多半也不行
|
5
3dwelcome OP @dingwen07 也许 headless 可以吧,毕竟是同一个浏览器内核。
但我没用过,不知道怎么用 headless 来点图形验证码或者滑动码。 被 cloudflare 打分识别为 BOT 后,一直返回 403,访问就跳 recaptcha 界面,就是不知道怎么互动。 |
6
3dwelcome OP @whileFalse "所以网站凭什么白给你爬?"
网站又没说什么,个人爬虫每天访问量,不会超过 20 个页面,也就是爬点主流的海贼王,一拳超人之类的更新页面。 主人没说啥,是 cloudflare 这个管家,私下把我给拒之门外。 |
7
crab 2021-08-01 10:57:55 +08:00
找出源站 IP 绕过 cloudflare
|
8
o00o 2021-08-01 11:12:38 +08:00
@3dwelcome 爬就别想着能一劳永逸,这是一场攻防战,战争白热化之后别说不能爬,连普通用户都会受影响。
参见淘宝(普通用户多刷几次网页都会出验证码)、 闲鱼(砍掉网页版)、 微信(网页版新用户不能使用、强制升级)、 QQ (强制升级、网页版无法使用) |
9
AoEiuV020 2021-08-01 11:13:04 +08:00 via Android
哪个网站反爬这么狠?
不如试试爬国内的,那种随处可见的盗版网站基本都是随便请求的, |
10
3dwelcome OP @crab “找出源站 IP 绕过 cloudflare”
试了一下你的方法,好像不行。 原理就是扫描互联网上所有 IPV4 段,主动记录和 IP 对应 443 接口的 SSL CERT 证书信息,然后看有没有源站的域名在里面。如果有,加上 HOST 大概率就能访问,绕过 cloudflare cdn 。 工具的话,网上推荐了用 https://censys.io ,来遍历所有的证书和对应的 IPv4,但很可惜,查不出来。 |
12
3dwelcome OP @crab “哪个漫画站啊”
https://www.onemanhua.com/ 我是看他更新速度挺快的,基本上全网数一数二。 "理论上用 chrome 当代理最后也是会遇到因为请求次数多被识别 BOT " 应该是这样的,只能尽可能降低请求频率。好在 chrome 就算被识别成 bot, 还能输入验证码,不至于被永远卡死在 403 (手动狗头) |
13
zhengfan2016 2021-08-01 11:42:35 +08:00
python 有专门绕过 cloudflare 的库
|
14
icyalala 2021-08-01 12:57:30 +08:00 11
|
15
izzy27 2021-08-01 14:02:56 +08:00
我寻思你这漫画没人爬
|
16
kxxoling 2021-08-01 15:21:13 +08:00 1
cloudflare 软广 🐶
|
17
tabris17 2021-08-01 15:30:05 +08:00
爬虫不要放服务器,用自己家电脑爬
|
18
Lemeng 2021-08-01 15:30:12 +08:00
白票就是用技术和时间来节省 money,牛就拿
|
19
BBCCBB 2021-08-01 16:26:31 +08:00
用 puppeteer 直接运行 chrome 爬..
|
20
no1xsyzy 2021-08-01 18:13:13 +08:00
据说可以用 Cloudflare worker 爬,直接白名单(
|
21
Keyblade 2021-08-01 19:51:16 +08:00
V2 不是不让聊盗版么
|
23
512357301 2021-08-01 20:35:00 +08:00 via Android
@3dwelcome 那就做个打码接口呢,把验证码传回到邮箱或者任意地方,并通知你,你通过指定的接口把验证码文本回传给爬虫,然后爬虫模拟输入。
不过这种无法对付那种点击或者滑块的验证码 |
24
Felldeadbird 2021-08-01 23:02:28 +08:00 2
我有个方案。linux 服务器装个图形界面。 然后写个 chrome 扩展。浏览器打开一下目标站点,剩下就可以无限爬了。
|
25
monkey110 2021-08-02 02:24:12 +08:00
追个漫画至于上爬虫么 身为小白都是用 chrome 插件 Your notifier 检测漫画更新状态
|
26
ShinichiYao 2021-08-02 08:18:36 +08:00
冒充搜索引擎
|
27
ctro15547 2021-08-02 08:34:27 +08:00
找个代理 多个 ip 随机用呗,Selenium
|
28
okakuyang 2021-08-02 09:22:27 +08:00
全自动反反爬挺难的吧,网上很多网站写了绕过办法,实际对新版 cloudflar 根本没效。
|
29
2bNot2b 2021-08-02 09:42:38 +08:00
用 cloudflareworkers 试试?
|
30
wtdd 2021-08-02 09:58:32 +08:00
现在这时代的网速,追漫画还需要上爬虫?
|
31
SmiteChow 2021-08-02 10:47:46 +08:00
你方向错了
×爬虫 √action 自动化 chrome 安装扩展绕过跨域安全策略 1.Allow CORS: Access-Control-Allow-Origin 2."Escape Cookie SameSite Policy" |
32
fank99 2021-08-02 11:02:48 +08:00 1
|
33
3dwelcome OP |
34
lap510200 2021-08-02 11:40:30 +08:00
以前做投票类的项目就是用指纹在网关层干掉,因为活动奖品一旦值钱,总有人恶意脚本刷票
|
35
pabupa 2021-08-03 17:58:23 +08:00
@ShinichiYao 搜索引擎会爬图片吗?
|