一个网页的浏览量统计想要更精确点,怎样排除各种搜索引擎爬虫带来的访问量? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
Reign
V2EX    程序员

一个网页的浏览量统计想要更精确点,怎样排除各种搜索引擎爬虫带来的访问量?

  •  
  •   Reign 2017-02-14 10:29:20 +08:00 4278 次点击
    这是一个创建于 3212 天前的主题,其中的信息可能已经有所发展或是发生改变。

    就像 V2 的帖子浏览量统计一样,我最初设想的是每访问一次,数据库的浏览量字段+1 ,但是各种爬虫的访问也带进来了,我想通过排查 header 来验证搜索引擎,但是世界上搜索爬虫这么多,百度、谷歌、 bing 、 Apple 、 yandex 等等,怎样设计一种较为精确的方式,只统计网友访问这个页面的次数?这样便于我统计受欢迎的页面

    14 条回复    2017-02-16 10:41:39 +08:00
    byuc
        1
    byuc  
       2017-02-14 10:49:01 +08:00
    让这个统计数,是基于用户手动点击递增
    gamexg
        2
    gamexg  
       2017-02-14 11:00:57 +08:00
    js 的统计能够过滤掉大部分爬虫(听说 google 会执行部分 js)。
    post 提交的能够过滤掉所有靠谱的爬虫。
    kafka0102
        3
    kafka0102  
       2017-02-14 11:08:43 +08:00
    js 异步提交统计就可以了,爬虫不会执行 js 脚本,也就是第三方统计的做法,否则只能在后端过滤掉包括 spider 、 bot 等 agent 的请求,但可能不会特别准。
    zhidian
        4
    zhidian  
       2017-02-14 12:08:59 +08:00
    思路 1 :一般 bot 会先访问 robots.txt ,你可以认为访问了这个文件的都是 bot 。思路 2 : bot 的数量是有限的,基本可以枚举出来登记一下。
    triostones
        5
    triostones  
       2017-02-14 13:19:56 +08:00
    @kafka0102 用 webdriver 的爬虫会执行 js 的。
    Shazoo
        6
    Shazoo  
       2017-02-14 14:39:12 +08:00
    @triostones 搜索引擎应该不会用 webdriver 做爬虫的。
    winglight2016
        7
    winglight2016  
       2017-02-14 15:56:32 +08:00
    这样便于我统计受欢迎的页面只是实现这个目标,完全不用考虑是否爬虫访问,毕竟爬虫爬一次就在所有页面的访问量上+1 (如果真的是放在服务端统计 request 这种方式)
    jiangzhuo
        8
    jiangzhuo  
       2017-02-14 16:29:20 +08:00
    统计受欢迎的网页不应该只统计访问次数,应该统计网友在此页的停留时间,鼠标移动的轨迹,在网页上是否有选择一些什么的,甚至有表单的要记录键盘操作。
    其实统计停留时间可以度就能提高很多了,毕竟搜索引擎的爬虫从来不停留,都是打开了就走。
    sriuu
        9
    sriuu  
       2017-02-14 16:34:30 +08:00
    百度部分爬虫也会部分执行 js 的(x
    ibufu
        10
    ibufu  
       2017-02-14 17:16:21 +08:00
    罗列一下大部分常见的 user-agent 就行了,没多少
    lightening
        11
    lightening  
       2017-02-14 18:14:24 +08:00
    Google Analytics 是干啥用的……
    ZE3kr
        12
    ZE3kr  
       2017-02-14 18:21:56 +08:00 via iPhone
    Google 爬虫会执行 JS

    ua 直接排除代“ bot ”三个字母的就搞定了
    zsx
        13
    zsx  
       2017-02-14 21:56:42 +08:00
    @winglight2016 #7 爬虫爬一次是看运气的,不一定会爬全站,一个页面可能爬多次

    @Shazoo #6 Google 的能渲染 React ……
    winglight2016
        14
    winglight2016  
       2017-02-16 10:41:39 +08:00
    @zsx 对于已收录链接,爬虫一般会先 head 一下看看是否有更新,没更新就不会实际 get
    另外,类似 google analytic 只有执行了页面渲染才会计数, google 爬虫的渲染应该不包括这种计数 js 吧
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2675 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 15:06 PVG 23:06 LAX 07:06 JFK 10:06
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86