V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Reign
V2EX  ›  程序员

像我这样防采集的手段,对于手机该编写怎样的逻辑?

  •  
  •   Reign · 2017-12-04 12:41:17 +08:00 via iPhone · 2776 次点击
    这是一个创建于 2537 天前的主题,其中的信息可能已经有所发展或是发生改变。
    下载地址因为是明文静态地址,爬虫很容易就把所有资源爬完了,当然限制 IP 没有用,换个代理 IP 池还不是分分钟把我的资源给秒了,目前我就是采用如下手段,js 和服务器要生成一个公有的加密 token 用于点击时验证,这样可以把简单的 file_get_contents 给屏蔽了,但对于 phantomjs,我必须验证鼠标轨迹,必须鼠标轨迹越来越接近点击时的坐标才行,但对于手机和平板电脑页面,没了鼠标,该怎么检验用户的真实行为?求 V 友集思广益一下
    13 条回复    2017-12-04 21:47:55 +08:00
    vus520
        1
    vus520  
       2017-12-04 12:54:56 +08:00
    除非是一次请求扣一块钱,否则没办法做到『防采集』
    zzuieliyaoli
        2
    zzuieliyaoli  
       2017-12-04 13:02:03 +08:00
    要不对于手机和平板电脑,把资源链接放在第二屏,必须让用户滑动一下才可以下载。

    或者加个倒计时,点击 5S 后才可以下载。
    qu3290052
        3
    qu3290052  
       2017-12-04 13:02:09 +08:00 via Android
    最新极验
    shoaly
        4
    shoaly  
       2017-12-04 13:07:47 +08:00
    假设真心没办法将 明文静态地址 改成 基于用户登录的动态地址
    那么可以将你的列表页的下载链接都换成动态链接, 然后验证用户登录之后, 根据该用户下载次数 通过验证再给他跳转到最终的静态地址上去
    当然假设 你的静态地址 文件名都没做 hash, 类似 /1.mp3 /2.mp3 这种....那就当我没说.... 直接写个循环 全下来了
    gouchaoer
        5
    gouchaoer  
       2017-12-04 13:14:38 +08:00
    1、首先保证静态文件名随机
    2、每次下载必须通过 php 脚本来统计一下,然后 redirect 给 nginx 的 sendfile
    3、反爬虫你需要用 php 脚本逻辑来做
    gouchaoer
        6
    gouchaoer  
       2017-12-04 13:15:22 +08:00
    下载上极验之类的吧
    murmur
        7
    murmur  
       2017-12-04 14:54:10 +08:00
    手拉拼图?
    xmcp
        8
    xmcp  
       2017-12-04 18:04:41 +08:00 via iPhone
    上验证码,recaptcha 或者国内的极验什么的都可以。也可以再酌情加点延时。
    onlyhot
        9
    onlyhot  
       2017-12-04 18:09:37 +08:00
    每天签到送积分,积分下载。
    009694
        10
    009694  
       2017-12-04 18:33:22 +08:00 via iPhone
    可以做 key 参数验证啊
    winterbells
        11
    winterbells  
       2017-12-04 18:45:27 +08:00 via Android
    下载的文件放网盘呢(゜o゜)
    akira
        12
    akira  
       2017-12-04 19:04:17 +08:00
    任何防采集手段,都只是提高采集成本,并不能绝对防止采集的

    11l 的方案其实很好的,别人帮你防采集了,顺便你还能赚点小钱。。
    toono
        13
    toono  
       2017-12-04 21:47:55 +08:00
    隔壁的爬虫帖子提供了很多思路

    [现在淘宝详情页销量的反爬策略是如何实现的?我使用了稳定更换 ip 的代理池,仍会被 ban。]( https://www.v2ex.com/t/411768#reply39)


    我觉得里面的有一条,“ ip 反向解析”挺好的,假如使用了代理,那么 IP 解析出来大多不是民用。

    反爬虫的话我觉得不能光靠一点两点去完全解决,而是每一个措施拦下一批人去达到反爬虫的目的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1548 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 17:13 · PVG 01:13 · LAX 09:13 · JFK 12:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.