最近写专利时看到了一种基于浏览记录的反爬虫方法,该方法基于 “在前端页面中以埋点或者提取页面日志的方式,获取用户的前端浏览记录,计算用户行为指标并进行人机验证” 。


用户行为指标

用户行为指标的计算基于前端浏览记录中的浏览地址与浏览时间。

  • 根据所述浏览时间和所述地址数量计算预设单位时长内访问次数;
  • 根据所述地址数量与所述总浏览时长计算每个浏览地址的平均浏览时长;
  • 利用预设的指标函数对所述地址数量、总浏览时长、平均浏览时长和预设单位时长访问次数进行计算,得到用户行为指标。


其中,f 为用户行为指标,A为所述地址数量,B为所述总浏览时长,C为所述平均浏览时长,D为所述预设单位时长访问次数,α、β、γ和θ为预设权重系数。

例如,用户小明的在6点至7点的浏览地址为的www.xiaoshuo.com,在7点至9点浏览地址为www.gouwu.com,则确定用户小明的地址数量为2,浏览总时长为3小时,用户小明对每个浏览地址的平均浏览时长为1.5小时,当预设单位时长为3小时,预设单位时长内访问次数为2。

由于非爬虫用户的作息方式较为固定,因此非爬虫用户的浏览习惯较为固定 。该方法利用计算得到的用户行为指标表示用户为非爬虫用户的概率,并将用户行为指标与预设阈值进行对比,当所述用户行为指标大于预设阈值,确定该用户为爬虫,对所述用户进行访问限制。


然后根据所述反爬虫验证参数,构建所述用户对所述目标网页的访问代价函数,并迭代所述访问代价函数,得到访问代价值。
所述访问代价是指用户通过用户IP地址对数据进行访问时,用户IP地址对应的服务器的负载消耗。
所述访问代价函数为:

例如,用户通过用户IP地址对目标网页进行访问时,该用户IP地址对应的服务器需要承担每秒8000次的数据请求产生的负载消耗,则每秒8000次的数据请求产生的负载消耗即为用户对所述目标网页进行访问的访问代价。

所述对所述访问代价函数进行迭代,是指利用所述访问代价函数计算多个预设单位时长内,用户通过用户IP地址对数据进行访问的单位访问代价,并将该多个预设单位时长内单位访问代价的均值作为所述访问代价值。
判断所述访问代价值是否小于所述反爬虫验证参数,当所述访问代价值小于所述反爬虫验证参数时,对所述用户进行访问限制。


反爬流程图


经验分析

目前基于应用层的反爬已经数见不鲜,各大厂商都将反爬核心转移到用户行为和设备指纹上。

像本文的反爬虫方法,适用于具有个人账号或者稳定cookie的访问来源。

比如在抖音和脉脉的风控上,该方法与其有着异曲同工之妙。


通过定时或者用户操作时触发行为记录的POST请求,将行为记录以日志形式发送给服务端进行校验。

如果你单纯的用请求库去访问接口,并没有做相应的POST请求,当爬虫请求达到一定阈值后会被服务端限制访问。


反反爬策略

打造一个用于服务端检测的环境,比如说启动一个服务来发送行为记录,维持和服务端的通信。或者开启一个真实的应用。

就像在抖音的wss协议中,需要维持心跳,在正常的长连接时,去构造app_log一样。

当然也不是说只要构建了环境就不会被限制,各大厂都有一套专用的爬虫识别算法,需要不断测试才能找到最好的解决方法。

比如在晚上11点后的检测比白天严格,比如每周固定时间会对一周访问记录进行大型检测,所以有时需要根据风控算法去打造一套专用的采集算法。

以上文的用户行为指标公式为例,想要爬虫增加访问频率和访问量,则需要在行为记录中去增加参数值。

因其他事 未完待续

一种基于浏览记录的反反爬虫方法相关推荐

  1. sar图像去噪matlab,一种基于总曲率的SAR图像变分去噪方法与流程

    本发明属于数字图像处理技术领域,具体涉及一种基于总曲率的SAR图像变分去噪方法. 背景技术: : 相干斑噪声是合成孔径雷达(Synthetic Aperture Radar,简称SAR)图像的重要特征 ...

  2. 肺结节目标检测_一种基于CT图像的肺结节检测方法及系统与流程

    本发明属于医学图像分析和计算机辅助诊断等技术领域,更具体地,涉及一种基于CT图像的肺结节检测方法及系统. 背景技术: 肺癌是导致患癌死亡的最危险的疾病之一,其发病率占所有癌症的三分之二,且5年存活率为 ...

  3. oracle自动售票服务器,一种基于Oracle数据库客户端的业务自动处理方法与流程

    技术领域 本发明涉及计算机技术领域,具体地说是一种实用性强.基于Oracle数据库客户端的业务自动处理方法. 背景技术: 在实现预约挂号的移动应用中,由于医院业务系统处理缺失自动取消预约功能,经常需要 ...

  4. linux 目录防篡改,一种基于Linux虚拟文件系统的防篡改方法及系统的制作方法

    一种基于Linux虚拟文件系统的防篡改方法及系统的制作方法 [技术领域] [0001]本发明涉及文件防护技术领域,特别涉及一种基于Linux虚拟文件系统的防篡改方法及系统. [背景技术] [0002] ...

  5. 人脸扫描建模_一种基于三维扫描数据的人脸建模方法

    一种基于三维扫描数据的人脸建模方法 黄炎辉 1 , 樊养余 1 , 董卫军 2 [摘 要] 三维扫描仪可以准确获取人脸的几何形状与纹理,但原始的人脸扫描 数据仅为一张连续曲面,不符合实际的人脸结构,无 ...

  6. 机器人测钢卷直径_一种基于关节机器人的冷轧钢卷卷芯焊接方法与流程

    本发明涉及冶金技术领域,特别涉及一种基于关节机器人的冷轧钢卷卷芯焊接方法. 背景技术: 在冷轧罩式退火工序,钢卷采用立式吊具吊运,为防止钢卷卷芯松动导致卷芯钢带损坏和抽芯故障,必须将钢卷卷芯内圈焊接固 ...

  7. 专利 | 一种基于脑电神经反馈控制智能机器人的方法

    Hello, 大家好,这里是壹脑云,我是Ting Zhang~ 今天和大家一起学习的是"一种基于脑电神经反馈控制智能机器人的方法"这个专利.它是由昆明理工大学的伏云发等人发明的专利 ...

  8. python爬取电子病历_一种基于中文电子病历的实体识别方法技术

    本发明专利技术提供了一种基于中文电子病历的实体识别方法,涉及医疗实体识别技术领域.针对目前国内缺少公开中文电子病历标注语料库的缺陷,本发明专利技术通过构建整理医学词典,提出了一种半自动语料库标注方法, ...

  9. 一种基于实时分位数计算的系统及方法

    一.问题描述与技术挑战 在实际工作中,我们发现许多业务场景中都有对某一数值型指标实时统计分位数的需求,一般要求计算结果有很高准确率同时具备极低的计算延迟,实现这类需求给数据RD的开发工作带来一定的挑战 ...

最新文章

  1. node aws 内存溢出_如何使用Node.js和AWS快速创建无服务器RESTful API
  2. 数据库的ACID特性详解
  3. 计算机视觉中的自监督表示学习近期进展
  4. 【渝粤题库】陕西师范大学200701 数字逻辑
  5. 腾讯,字节,阿里,小米,京东大厂Offer拿到手软!讲的明明白白!
  6. 【POJ - 1651】Multiplication Puzzle(区间dp)
  7. 转:SQL注入攻击的原理
  8. 阿里云张建锋:数字技术要服务好实体经济
  9. 关于文件、文件夹加密隐藏原理的一点想法
  10. 关于从asc格式到pcd格式的转换
  11. can总线一帧多少字节多少位_汽车CAN总线数据帧解析---汽车语言知多少
  12. 一个有用的webstrom激活方法
  13. unity warning CS0108: test4.name' hides inherited memberUnityEngine.Object.name’.
  14. brew 一直等待_壹配资网门户技术解盘20201104:尿素遇阻回落 铜等待突破-股票外汇期货配资门户...
  15. [思考进阶]04 优秀的人,都在使用“微习惯”
  16. 背包问题之多重背包基础写法
  17. FCN的学习及理解(Fully Convolutional Networks for Semantic Segmentation)
  18. KiCad设计PCB-6- KiCad制作SOT-223及LQFP100封装
  19. 数学软件Matlab、Mathematica、Maple、Mathcad、SAS、SPSS、Lindo
  20. 群晖服务器删除的文件都在回收站吗,电脑快速清空回收站之后,文件要如何恢复?...

热门文章

  1. android版本衍生,基于Android衍生,国产手机系统谁才是王者
  2. 好用的数据校验修复工具gt-checksum开源啦
  3. Ps 初学者教程「37」如何搭配使用图层蒙版和选区?
  4. pyhthon数据分析——matplotlib绘制动图且如何保存gif动图
  5. python解析html基础操作
  6. Js事件模型、事件详解
  7. 开心分期服务器升级维护中,梦幻西游:维护大赞,梦幻服务器硬件喜迎升级!2008终于不再卡了...
  8. 58同城 2021校招 测试岗
  9. 一句话成为心上人“特别的存在”
  10. oh-my-zsh主题显示conda环境名称