2025-11-14 21:03:48 +08:00
2025-11-09 17:20:44 +08:00
2025-11-09 17:20:44 +08:00
2025-11-09 17:20:44 +08:00
2025-11-09 17:20:44 +08:00
2025-11-09 17:20:44 +08:00
2025-11-09 17:20:44 +08:00
2025-11-09 17:20:44 +08:00
2025-11-09 17:20:44 +08:00
2025-11-09 17:20:44 +08:00
2025-11-11 07:42:55 +08:00
2025-11-14 21:03:48 +08:00
2025-11-09 17:20:44 +08:00
2025-11-09 17:20:44 +08:00
2025-11-09 17:20:44 +08:00
2025-11-09 17:20:44 +08:00
2025-11-14 21:03:48 +08:00
2025-11-09 17:20:44 +08:00
2025-11-09 17:20:44 +08:00

TopHub数据处理系统

本项目用于处理TopHub网站抓取的临时文件对数据进行分类并存储到SQLite数据库中。

功能特点

  1. 文件解析:读取临时文件(格式为"日期+时间.txt"每5行作为一个数据单元
  2. 数据提取:从每个数据单元中提取标题和链接
  3. 智能分类调用本地APIOllama对标题进行自动分类
  4. 去重处理:检查标题+日期是否已存在于数据库中,避免重复录入
  5. 进度显示:使用进度条显示处理进度
  6. 分类标准化:将相似分类合并为标准分类

文件说明

核心脚本

  1. process_temp_files.py - 主处理脚本

    • 解析临时文件
    • 调用API进行分类
    • 存储到数据库
  2. cleanup_categories.py - 分类清理脚本

    • 清理分类中的特殊字符
    • 统一分类格式
  3. standardize_categories.py - 分类标准化脚本

    • 将相似分类合并为标准分类
    • 提供分类映射规则

辅助脚本

  1. check_db.py - 数据库结构检查脚本
  2. test_api.py - API测试脚本
  3. view_categories.py - 查看分类示例脚本

使用方法

1. 处理临时文件

python process_temp_files.py

该脚本会:

  • 扫描当前目录下的所有临时文件(格式为"日期+时间.txt"
  • 解析文件内容,提取标题和链接
  • 调用本地API对标题进行分类
  • 检查并避免重复数据
  • 存储到tophub_data.db数据库

2. 清理和标准化分类

# 清理分类中的特殊字符
python cleanup_categories.py

# 标准化分类
python standardize_categories.py

3. 查看数据

# 查看分类示例
python view_categories.py

# 检查数据库结构
python check_db.py

数据库结构

数据库文件为tophub_data.db,包含以下表:

  1. tophub_entries - 主数据表

    • id: 主键
    • text_content: 标题内容(非空)
    • link: 链接
    • category: 分类
    • scrape_time: 抓取时间
  2. classification_progress - 分类进度表

    • id: 主键
    • total_count: 总数量
    • processed_count: 已处理数量
    • last_updated: 最后更新时间

API配置

脚本使用本地Ollama API进行分类

分类标准

系统支持以下标准分类:

  1. 科技 - 新质科技、互联网等
  2. 社会 - 社会新闻、生活服务等
  3. 体育 - 体育新闻、足球等
  4. 历史 - 历史事件、历史人物等
  5. 安全 - 安全漏洞、安全科技等
  6. 军事 - 军事新闻、国防等
  7. 金融 - 金融新闻、市场分析等
  8. 购物 - 电商、购物等
  9. 游戏 - 游戏新闻等
  10. 娱乐 - 娱乐八卦、音乐等
  11. 健康 - 健康医疗、健康生活等
  12. 其他 - 其他未分类内容

注意事项

  1. 确保本地Ollama服务已启动并可访问
  2. 临时文件格式必须为"日期+时间.txt"
  3. 每个数据单元包含5行节点ID、分类、标题、链接和分隔线
  4. 数据库文件会自动创建,无需手动创建

日志文件

系统会生成以下日志文件:

  • process_temp_files.log - 主处理日志
  • cleanup_categories.log - 分类清理日志
  • standardize_categories.log - 分类标准化日志

示例

临时文件格式示例

节点ID: 102
分类: 宽带山
标题: 女机器人
链接: http://club.kdslife.com/t_11502693.html
--------------------------------------------------
节点ID: 103
分类: 宽带山
标题: 这个应该属于底盘不行吗
链接: http://club.kdslife.com/t_11502686.html
--------------------------------------------------

处理结果示例

标题 '女机器人' 分类为: 科技
标题 '这个应该属于底盘不行吗' 分类为: 其他
Description
抓取每日热榜上的新闻,数据处理,然后看哪些值得多看,以备以后的抓取。
Readme 81 MiB
Languages
Python 83.4%
HTML 16.6%