3dwelcome

这年头写个漫画爬虫都心力憔悴。

  •  
  •   3dwelcome · Aug 1, 2021 · 9809 views
    This topic created in 1920 days ago, the information mentioned may be changed or developed.

    写了个自用小爬虫,追漫画用,每天刷一次,稳定运行了几个月。

    然而,漫画网站是在 cloudflare 上,突然之间就被识别为 BOT,拒绝访问了。可让我非常意外的是,同样的 IP,浏览器访问一点问题都没有!

    在 V2 查了前人资料,说是 TLS 指纹技术。顺藤摸瓜,发现了每个客户端都有指纹,难怪相同的 UA/Cookie,curl 不行,浏览器却可以,因为两者的 SSL 指纹是不一样的。( https://browserleaks.com/ssl 里的 JA3 Hash)

    于是乎,剩下了二个解决方案:

    1. 修改爬虫客户端,模仿浏览器的行为。但问题是,cloudflare 的 tls 指纹算法并没有公开,网上也搜不到相关信息,应该不可能用 JA3 这种开源解决方案。靠猜测编程,是非常不靠谱的行为,遂放弃。

    2. 把 google chrome 当成代理服务器,运行一个网页,用 websocket 和爬虫通讯,然后用 ajax 去访问目标站点。

    用 AJAX 暂时解决了问题,也不知道几个月后,会不会出现新问题。怀念以前 http 不加密一把梭的年代,什么都是明文,简单明了直接。

    35 replies  •  2021-08-03 17:58:23 +08:00
    whileFalse
    whileFalse
    Aug 1, 2021 via iPhone❤️26
    1
    所以网站凭什么白给你爬?
    junksheng
    junksheng
    Aug 1, 2021 via Android
    2
    你想白女票,自然要做好斗智斗勇的准备
    hideokuze
    hideokuze
    Aug 1, 2021
    3
    这些事情属于“偷偷的进村,打枪的不要”,就是占网站便宜。要是真闹腾起来了怕不是连这个渠道都给你堵上了。
    dingwen07
    dingwen07
    Aug 1, 2021 via Android
    4
    试试看 headless ?不过多半也不行
    3dwelcome
    3dwelcome
    OP
    Aug 1, 2021
    5
    @dingwen07 也许 headless 可以吧,毕竟是同一个浏览器内核。

    但我没用过,不知道怎么用 headless 来点图形验证码或者滑动码。

    被 cloudflare 打分识别为 BOT 后,一直返回 403,访问就跳 recaptcha 界面,就是不知道怎么互动。
    3dwelcome
    3dwelcome
    OP
    Aug 1, 2021
    6
    @whileFalse "所以网站凭什么白给你爬?"

    网站又没说什么,个人爬虫每天访问量,不会超过 20 个页面,也就是爬点主流的海贼王,一拳超人之类的更新页面。

    主人没说啥,是 cloudflare 这个管家,私下把我给拒之门外。
    crab
    crab
    Aug 1, 2021
    7
    找出源站 IP 绕过 cloudflare
    o00o
    o00o
    Aug 1, 2021
    8
    @3dwelcome 爬就别想着能一劳永逸,这是一场攻防战,战争白热化之后别说不能爬,连普通用户都会受影响。
    参见淘宝(普通用户多刷几次网页都会出验证码)、
    闲鱼(砍掉网页版)、
    微信(网页版新用户不能使用、强制升级)、
    QQ (强制升级、网页版无法使用)
    AoEiuV020
    AoEiuV020
    Aug 1, 2021 via Android
    9
    哪个网站反爬这么狠?
    不如试试爬国内的,那种随处可见的盗版网站基本都是随便请求的,
    3dwelcome
    3dwelcome
    OP
    Aug 1, 2021
    10
    @crab “找出源站 IP 绕过 cloudflare”
    试了一下你的方法,好像不行。

    原理就是扫描互联网上所有 IPV4 段,主动记录和 IP 对应 443 接口的 SSL CERT 证书信息,然后看有没有源站的域名在里面。如果有,加上 HOST 大概率就能访问,绕过 cloudflare cdn 。

    工具的话,网上推荐了用 https://censys.io ,来遍历所有的证书和对应的 IPv4,但很可惜,查不出来。
    crab
    crab
    Aug 1, 2021
    11
    @3dwelcome 哪个漫画站啊?理论上用 chrome 当代理最后也是会遇到因为请求次数多被识别 BOT 。
    3dwelcome
    3dwelcome
    OP
    Aug 1, 2021
    12
    @crab “哪个漫画站啊”
    https://www.onemanhua.com/ 我是看他更新速度挺快的,基本上全网数一数二。

    "理论上用 chrome 当代理最后也是会遇到因为请求次数多被识别 BOT "
    应该是这样的,只能尽可能降低请求频率。好在 chrome 就算被识别成 bot, 还能输入验证码,不至于被永远卡死在 403 (手动狗头)
    zhengfan2016
    zhengfan2016
    Aug 1, 2021
    13
    python 有专门绕过 cloudflare 的库
    icyalala
    icyalala
    Aug 1, 2021❤️11
    14
    @3dwelcome
    "主人没说啥,是 cloudflare 这个管家,私下把我给拒之门外。"
    cloudflare 就是被请来干这类活的啊。。
    izzy27
    izzy27
    Aug 1, 2021
    15
    我寻思你这漫画没人爬
    kxxoling
    kxxoling
    Aug 1, 2021❤️1
    16
    cloudflare 软广 🐶
    tabris17
    tabris17
    Aug 1, 2021
    17
    爬虫不要放服务器,用自己家电脑爬
    Lemeng
    Lemeng
    Aug 1, 2021
    18
    白票就是用技术和时间来节省 money,牛就拿
    BBCCBB
    BBCCBB
    Aug 1, 2021
    19
    用 puppeteer 直接运行 chrome 爬..
    no1xsyzy
    no1xsyzy
    Aug 1, 2021
    20
    据说可以用 Cloudflare worker 爬,直接白名单(
    Keyblade
    Keyblade
    Aug 1, 2021
    21
    V2 不是不让聊盗版么
    bxb100
    bxb100
    Aug 1, 2021
    22
    @no1xsyzy #20 查到就封了
    512357301
    512357301
    Aug 1, 2021 via Android
    23
    @3dwelcome 那就做个打码接口呢,把验证码传回到邮箱或者任意地方,并通知你,你通过指定的接口把验证码文本回传给爬虫,然后爬虫模拟输入。
    不过这种无法对付那种点击或者滑块的验证码
    Felldeadbird
    Felldeadbird
    Aug 1, 2021❤️2
    24
    我有个方案。linux 服务器装个图形界面。 然后写个 chrome 扩展。浏览器打开一下目标站点,剩下就可以无限爬了。
    monkey110
    monkey110
    Aug 2, 2021
    25
    追个漫画至于上爬虫么 身为小白都是用 chrome 插件 Your notifier 检测漫画更新状态
    ShinichiYao
    ShinichiYao
    Aug 2, 2021
    26
    冒充搜索引擎
    ctro15547
    ctro15547
    Aug 2, 2021
    27
    找个代理 多个 ip 随机用呗,Selenium
    okakuyang
    okakuyang
    Aug 2, 2021
    28
    全自动反反爬挺难的吧,网上很多网站写了绕过办法,实际对新版 cloudflar 根本没效。
    2bNot2b
    2bNot2b
    Aug 2, 2021
    29
    用 cloudflareworkers 试试?
    wtdd
    wtdd
    Aug 2, 2021
    30
    现在这时代的网速,追漫画还需要上爬虫?
    SmiteChow
    SmiteChow
    Aug 2, 2021
    31
    你方向错了
    ×爬虫
    √action 自动化

    chrome 安装扩展绕过跨域安全策略
    1.Allow CORS: Access-Control-Allow-Origin
    2."Escape Cookie SameSite Policy"
    3dwelcome
    3dwelcome
    OP
    Aug 2, 2021
    33
    @SmiteChow 这插件有创意。

    我 ajax 跨域一直使用 chrome.exe 的命令行参数--disable-web-security,没想到还可以用插件直接修改网站返回的头数据,强行跨域。
    lap510200
    lap510200
    Aug 2, 2021
    34
    以前做投票类的项目就是用指纹在网关层干掉,因为活动奖品一旦值钱,总有人恶意脚本刷票
    pabupa
    pabupa
    Aug 3, 2021
    35
    @ShinichiYao 搜索引擎会爬图片吗?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4451 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 78ms · UTC 10:00 · PVG 18:00 · LAX 02:00 · JFK 05:00
    ♥ Do have faith in what you're doing.