项目简介
本项目基于C++开发,是一个用于搜索和统计Bilibili平台“御坂妹妹”用户的搜索系统。借助解析JSON数据和网络请求,系统实现了用户名精确匹配与关键词搜索功能,搜索结果会存储在MySQL数据库中。同时,系统支持每周自动更新数据,通过Linux的crontab定时任务管理。
项目的主要特性和功能
- 用户名精确匹配:利用
Validator::check(nickname, ...)
方法,能精确判断给定用户名是否存在于Bilibili平台,还支持扩展符,如御坂%d
,可自动匹配御坂0
到御坂20001
的用户名。 - 关键词搜索:通过
Searcher::search(keyword, ...)
方法,依据关键词搜索相关用户,支持“御坂”“御坂妹妹”“misaka”等多种关键词变体。 - 数据存储与管理:搜索结果和精确匹配结果分别存于MySQL数据库的
MisakaSisters.misaka_sisters_info
和MisakaSisters.nicknames
表中,通过crontab
定时任务每周自动更新数据,并导出为.sql
和.csv
格式。 - 代理支持:使用libcurl库进行网络请求,支持通过代理服务器请求,提升请求稳定性和安全性。
- 错误处理与修复:搜索和匹配过程中若遇错误,会将错误信息记录在
nicknames_error
表中,并提供修复机制。
安装使用步骤
环境准备
- 安装C++编译器(如GCC)。
- 安装MySQL数据库,并创建名为
MisakaSisters
的数据库。 - 安装JsonCpp库和libcurl库。
编译项目
- 复制项目代码到本地。
- 进入项目目录并编译:
bash cd MisakaSisters mkdir build && cd build cmake .. make
配置数据库
在MySQL中创建相应数据表,具体SQL语句可参考项目中的SQL文件。
运行程序
- 精确匹配用户名:
bash ./misaka_sisters check [check.list] [USE_CACHE / NO_CACHE] [proxy.list]
- 关键词搜索:
bash ./misaka_sisters search [search.list] [proxy.list]
设置自动更新
使用Linux的crontab
设置定时任务,每周日运行run.sh
脚本进行数据更新。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】