轻量全网热榜聚合网站,SQLite单文件存储,支持多平台热榜展示、关键词搜索,后台可手动更新、启停平台,搭配宝塔计划任务实现5分钟自动同步,部署零额外依赖。
全网今日热榜源码 v1.0
项目简介
这是一个轻量的全网平台热榜聚合网站,包含前端展示与后台管理功能。系统使用 SQLite 单文件数据库存储,实现零额外依赖,并支持通过宝塔面板计划任务自动更新数据。
核心功能
前端展示
- 多平台聚合:以板块形式聚合展示各大平台热榜,支持微博、百度、哔哩哔哩、今日头条、抖音、GitHub、IT之家等。
- 布局设计:首页采用一行三个板块的布局,每个板块右上角设有「更多 ›」链接,点击可进入对应平台的完整榜单页。
- 搜索过滤:前端支持关键词搜索,方便用户快速筛选感兴趣的热榜内容。
后台管理
- 安全登录:支持账号密码登录后台管理系统。
- 手动控制:管理员可手动触发热榜更新,或启用/停用特定平台的数据抓取。
- 自动更新:支持配置宝塔面板「计划任务 – 访问 URL」,实现定时自动拉取最新热榜数据。
环境要求
- PHP 版本:>= 7.1
- 必需扩展:需开启
curl、pdo_sqlite、sqlite3扩展。 - 服务器面板:宝塔面板(可选,主要用于配置计划任务)。
部署步骤
-
上传文件
将项目目录上传至网站根目录(例如:/www/wwwroot/rebang)。 -
检查扩展
确保服务器 PHP 环境已开启以下扩展:curlpdo_sqlitesqlite3
-
访问测试
- 前端页面:浏览器访问
http://域名/index.php即可查看热榜展示。 - 后台登录:浏览器访问
http://域名/admin/login.php进入管理后台。
- 前端页面:浏览器访问
-
修改配置(务必执行)
编辑includes/config.php文件,修改以下默认配置以确保安全:phpdefine('ADMIN_USER', 'admin'); // 后台用户名,建议修改
define('ADMIN_PASS', 'admin123'); // 后台密码,强烈建议修改
define('CRON_TOKEN', 'rebang2026'); // 计划任务令牌,建议修改
-
配置自动更新(宝塔面板)
- 打开宝塔面板,进入「计划任务」。
- 添加新任务:
- 任务类型:访问 URL
- 任务名称:热榜更新
- 执行周期:每 5 分钟(确保 Nginx/Apache 能访问外网)
- URL 地址:
https://你的域名/cron.php?token=你设置的CRON_TOKEN
- 保存后点击「执行」进行测试,若返回
{"ok":true,...}即表示配置成功。 - 注:后台也提供「立即更新热榜」按钮,需在登录会话中使用。
数据库说明
- 存储方式:SQLite 单文件数据库。
- 文件位置:
data/rebang.db(系统自动创建)。 - 安全防护:已通过
.htaccess禁止 Web 直接访问该数据库文件。 - 表结构:
platforms:存储平台信息。hot_items:存储热榜条目数据。
开发扩展:新增平台
若需增加新的热榜平台,请按以下步骤操作:
-
编写抓取函数
在includes/fetcher.php中新增函数fetch_xxx(),该函数需返回如下格式数组:php[['rank' => '', 'title' => '', 'url' => '', 'hot' => ''], ...]
-
注册平台信息
在includes/db.php的$defaults数组中登记新平台,需包含以下字段:pkey:唯一标识(与 fetch 函数对应)name:平台名称icon:图标sort:排序权重
-
启用平台
登录后台,在「平台管理」中启用新添加的平台即可。
注意事项
- 数据来源:所有热榜数据均抓取自各平台公开接口,仅供学习交流使用。
- 接口维护:部分平台接口可能随版本迭代而变动失效。若后台出现失败提示,需检查并更新
includes/fetcher.php中对应的fetch_xxx()函数。




