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

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

  •  
  •   Reign · Feb 14, 2017 · 4668 views
    This topic created in 3385 days ago, the information mentioned may be changed or developed.

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

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

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

    @Shazoo #6 Google 的能渲染 React ……
    winglight2016
        14
    winglight2016  
       Feb 16, 2017
    @zsx 对于已收录链接,爬虫一般会先 head 一下看看是否有更新,没更新就不会实际 get
    另外,类似 google analytic 只有执行了页面渲染才会计数, google 爬虫的渲染应该不包括这种计数 js 吧
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2782 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 52ms · UTC 02:26 · PVG 10:26 · LAX 19:26 · JFK 22:26
    ♥ Do have faith in what you're doing.