• 请不要在回答技术问题时复制粘贴 AI 生成的内容
zxgngl
V2EX  ›  程序员

如何保护网页中的字符串(比如邮箱)不被爬虫获得?

  •  
  •   zxgngl · Jan 15, 2016 · 3865 views
    This topic created in 3775 days ago, the information mentioned may be changed or developed.

    我想到一种方式是:

    请将下面的字符串放入 bash 执行以获得网址:
    $ x1="v"; x2="2"; x3="e"; x4="x"; echo $x1$x2$x3$x4.com

    然后得到:
    v2ex.com

    大家还有什么更聪明的办法吗?

    21 replies    2016-01-17 07:15:32 +08:00
    zxgngl
        1
    zxgngl  
    OP
       Jan 15, 2016
    我现在脑海里出现一个短语:“ program as data ”
    oott123
        2
    oott123  
       Jan 15, 2016
    你用 js 写一个不就好了…

    别说爬虫会执行 js ,我不觉得爬邮件地址的爬虫也会执行 js …
    openroc
        3
    openroc  
       Jan 15, 2016
    参考一下, hidemyass.com 里面关于代理 ip 的保护方式。不影响用户使用,让写爬虫的崩溃。哈哈。。。

    https://www.hidemyass.com/proxy
    cdwyd
        4
    cdwyd  
       Jan 15, 2016 via Android
    做成图片
    dangge
        5
    dangge  
       Jan 15, 2016
    我倒是觉得百度知道的做法很好
    当某 IP 疑似爬虫时,将网页中某字符用图片显示

    不过看了下楼上, js 确实是很好的方法,估计 95%的爬虫都能过滤掉。
    jarlyyn
        6
    jarlyyn  
       Jan 15, 2016
    @oott123

    爬虫当然可以执行 js 。

    我之前做过,没啥技术含量,监控百度的关键词排名的。

    用 canvas 吧。
    Lancercf
        7
    Lancercf  
       Jan 15, 2016
    写到 js 里,判断 ua ,访问次数限制,验证码,先想到这些吧
    alexapollo
        8
    alexapollo  
       Jan 15, 2016 via iPhone
    js 渲染,图片, css 渲染(善用隐藏)
    这是最经常碰到的几个方法
    Delbert
        9
    Delbert  
       Jan 15, 2016 via Android
    bdo 标签 顺序 dir=“ rtl ”
    然后邮箱挑一部分反向输入。
    oott123
        10
    oott123  
       Jan 15, 2016
    @jarlyyn 我的帖子的意思是,考虑一个用来发垃圾邮件的邮箱爬虫,他会执行 js 的概率很低。
    sumhat
        11
    sumhat  
       Jan 15, 2016
    安利一个自制的 WordPress 插件: Enigma https://wordpress.org/plugins/enigma/
    taijia
        13
    taijia  
       Jan 15, 2016 via Android
    爬虫执行 js 不是什么难事
    SuperFashi
        14
    SuperFashi  
       Jan 15, 2016
    cloudflare 就会把邮箱加密……
    TaMud
        15
    TaMud  
       Jan 15, 2016
    直接用 css 来控制显示不就好了,简单高效
    onice
        16
    onice  
       Jan 15, 2016
    为什么你不直接生成图片。。。
    boro
        17
    boro  
       Jan 15, 2016 via iPhone
    webfont
    hzlzh
        18
    hzlzh  
    PRO
       Jan 15, 2016
    base64
    lincanbin
        19
    lincanbin  
       Jan 15, 2016
    @taijia 虽然爬虫能执行 js ,然而实际上考虑资源,他们并不会真的去执行 js 。
    光用 document.write 分段写入,就能拦住不少爬虫了。
    mengskysama
        20
    mengskysama  
       Jan 17, 2016
    换成图片哈哈哈哈
    Gce
        21
    Gce  
       Jan 17, 2016
    @mengskysama 你居然还能上网发帖 逃.....
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   6354 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 85ms · UTC 02:33 · PVG 10:33 · LAX 19:33 · JFK 22:33
    ♥ Do have faith in what you're doing.