littlebot
Published on 2025-04-11 / 0 Visits
0

【源码】基于C++的Bilibili御坂妹妹搜索系统

项目简介

本项目基于C++开发,是一个用于搜索和统计Bilibili平台“御坂妹妹”用户的搜索系统。借助解析JSON数据和网络请求,系统实现了用户名精确匹配与关键词搜索功能,搜索结果会存储在MySQL数据库中。同时,系统支持每周自动更新数据,通过Linux的crontab定时任务管理。

项目的主要特性和功能

  1. 用户名精确匹配:利用Validator::check(nickname, ...)方法,能精确判断给定用户名是否存在于Bilibili平台,还支持扩展符,如御坂%d,可自动匹配御坂0御坂20001的用户名。
  2. 关键词搜索:通过Searcher::search(keyword, ...)方法,依据关键词搜索相关用户,支持“御坂”“御坂妹妹”“misaka”等多种关键词变体。
  3. 数据存储与管理:搜索结果和精确匹配结果分别存于MySQL数据库的MisakaSisters.misaka_sisters_infoMisakaSisters.nicknames表中,通过crontab定时任务每周自动更新数据,并导出为.sql.csv格式。
  4. 代理支持:使用libcurl库进行网络请求,支持通过代理服务器请求,提升请求稳定性和安全性。
  5. 错误处理与修复:搜索和匹配过程中若遇错误,会将错误信息记录在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】