准备工作
环境和技术栈
确认需要实现的功能
- 加载词库数据到Tire字典树中,用字典树存储词库,速度比较快
- 利用广度优先遍历抓取整站的数据
- 去除标签,获取每个页面的实际数据
- 对实际数据进行分词,得到分词-偏移量列表
- 将分词列表与Tire字典树进行对比,得到敏感词列表
- 再根据偏移量和词组情况,回归确定是否确认是敏感词,并根据结果判断是否报警
- 对敏感句子的识别
- 对敏感词拼音的识别
确认功能所需的解决方案
- 利用playwrite抓取页面
- 利用广度优先算法+每层全部捞出来,通过线程池的方式实现多线程
- 利用正则表达式去除标签获取实际数据
- 利用hanlp进行分词并得到偏移量
- 利用字典树Tire算法实现对词组预处理的方案
- 利用对敏感句子分词形成词组,再计算最大最小偏移的方式实现对敏感句子的检测
- 在加载词库的时候,生成两份,分别是字词组和拼音词组
图解逻辑过程
利用广度优先遍历,逐层利用多线程抓取被监测网站所有页面
利用Playwrite下载页面内容并截图
检测全过程
那么接下来我们的目标就是要实现上面这个过程。你可以试着先尝试一下。并测算一下漏报率和误报率。