2026/1/17 7:16:04
网站建设
项目流程
邱启良 深圳网站建设,网站开发公司哪家最强,成都记者留言网站,工信部做网站认证吗1.背景
最近导师交给我一个任务#xff0c;要我做一个反爬虫的监控#xff0c;因此首先了解爬虫反爬虫。
什么是爬虫#xff1f;简单来说就是利用程序假装用户访问我们的网站接口。
爬虫对我们有什么坏处#xff1f;首先最基本的高频的爬虫会导致我们数据库压力暴涨要我做一个反爬虫的监控因此首先了解爬虫反爬虫。什么是爬虫简单来说就是利用程序假装用户访问我们的网站接口。爬虫对我们有什么坏处首先最基本的高频的爬虫会导致我们数据库压力暴涨接口qps升高正常用户访问变慢也就是爬虫在白用我们的服务器其次高频的爬虫会影响我们的决策数据试想公司的数仓全部都是无意义的爬虫数据根本无法做业务决策更重要的是我们网站的核心数据或者自己做好清洗的数据被爬这些属于业务资产决不能被白嫖。如何反爬反爬思路很多总体上可以这样理解通过行为识别出爬虫和用户实施相应策略做对应处理最后还需要复盘迭代。2.设计反爬的重点不是如何拦住爬虫而是如何识别爬虫。针对如何识别我们的重点应该是判断行为是否像正常用户我们可以先设计最基础的条件每小时或每天接口的访问次数大于设定阈值我们识别为爬虫这种设计一般只能防止一次性大量爬虫除此之外还需要设计一些特殊规则比如针对有些爬虫每小时都持续爬数据我们可以识别为爬虫或者有些接口是一起调用的但是爬虫会只爬一个接口我们也可以标记为爬虫。针对识别后的处理我们遵循的规则是宁可放过不可错杀最好不要影响正常用户的体验因此初期设计的阈值都明显不是正常用户的次数其次我们还应该设计多级阈值比如疑似阈值封号阈值对不同的疑爬虫做筛选不同程度处理。针对处理完的复盘迭代我们应该记录每次监控日志并接入oss将excel存入服务器定时分析改变阈值大小或者处理力度其次接入钉钉机器人出现异常迅速报警可以快速处理。3.代码逻辑做好设计进入代码编写这里因为初期接口太多不好处理第一版首先挑选120个接口分好模块建表存储接口信息这样后续可以直接从数据库中查询实时变更的接口列表提取每个模块下的接口列表用来动态构建sql查询数据仓库查出来的uid就是访问次数超过阈值的uid可以做后续日志记录和报警这是小时级阈值判断流程。其余是针对很多特殊规则的实现不过大部分都是sql中做好查询即可。4.复盘和迭代测试sql没有问题之后还需要做好复盘和迭代因为反爬监控不是一朝一夕工程因此每次输出的日志应该记录下来作为参考并且可以每天生成excel文件作为决策基础每天根据excel的数据做封号以及阈值调整。