尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

一个页面读完 40+ 个实时热点:newsnow 新闻聚合部署指南

发布时间:2026/9/6 15:27:13

资讯中心
01
ARTICLE

一个页面读完 40+ 个实时热点:newsnow 新闻聚合部署指南

一个页面读完 40+ 个实时热点:newsnow 新闻聚合部署指南
一个页面读完 40 个实时热点newsnow 新闻聚合部署指南【免费下载链接】newsnowElegant reading of real-time and hottest news项目地址: https://gitcode.com/GitHub_Trending/ne/newsnownewsnow 是一个把微博热搜、知乎热榜、GitHub Trending、Product Hunt 等 40 多个信息源抓进同一页面的新闻聚合工具。你不用注册账号、不用切换 App打开页面就能按栏目刷实时热点还能自己写抓取逻辑扩展新闻源。本文给出一条最短的本地部署路径以及自定义源的写法。它解决了什么问题每天刷热点的常见流程是打开微博看热搜再开知乎、36kr、GitHub 各自逛一圈最后发现 80% 的内容你已经看过。信息不是太少而是分散且重复。newsnow 的做法是把这件事收拢到一个页面里按国内 / 世界 / 科技 / 财经 / 娱乐等栏目组织多个源的热点列表横向对比一眼看完服务端定期抓取各源数据缓存后统一吐给前端打开页面基本是秒开支持 GitHub OAuth 登录收藏和个性化设置可以跨设备同步三分钟跑起来如果你只是想看效果不需要登录和缓存功能最快的路是直接 Fork 仓库并导入 Cloudflare Pages 或 Vercel构建命令填pnpm run build输出目录填dist/output/public不需要任何环境变量。要完整功能登录 缓存就在本地跑git clone https://gitcode.com/GitHub_Trending/ne/newsnow cd newsnow corepack enable pnpm i pnpm dev运行需要 Node.js 20 以上。首次启动时会执行presource脚本从 shared/pre-sources.ts 生成sources.json、pinyin.json等文件不用手动处理。数据库方面Docker 部署根目录执行docker compose up直接用内置的 better-sqlite3什么都不用配Cloudflare Pages在 Worker 控制台创建一个 D1 数据库把 example.wrangler.toml 重命名为wrangler.toml填入database_id和database_name后重新部署即可它是怎么工作的整个项目分两层nitro.config.ts 里定义了 Nitro 服务端抓取层。每个新闻源对应 server/sources/ 下的一个 TypeScript 文件导出一个defineSource包装的异步函数返回标准化的NewsItem[]标题、链接、id、附加信息。以 server/sources/github.ts 为例逻辑就是请求 GitHub Trending 页面用 cheerio 解析出项目标题、Star 数和描述。微博、掘金这类有公开 API 的源则直接取 JSON两者殊途同归。缓存层。server/database/cache.ts 把每个源的抓取结果存进数据库表结构就三列id、更新时间、JSON 数据TTL 默认 30 分钟定义在 shared/consts.ts。已登录用户可以触发强制刷新绕过缓存拿最新数据。自适应间隔。各源不是同一节奏抓取在 shared/pre-sources.ts 里可以看到预置了 2 分钟实时热搜类、5 分钟、10 分钟默认、30 分钟、1 小时五档间隔微博、MKTNews 快讯这类源走 2 分钟档慢源走 30 分钟以上档。间隔拉得够开既保证热点够新也避免请求过快被目标站封 IP。想加自己的源两步在server/sources/下新建文件参考现有实现写抓取函数export default defineSource({ 你的源id: 抓取函数 })在 shared/pre-sources.ts 的originSources里登记元信息名称、所属栏目、颜色、抓取间隔构建时presource脚本会自动重新生成shared/sources.json前端即可见。源越多页面栏目就越丰富这也是它作为新闻聚合工具的核心扩展点。让它更合你口味登录与缓存开关。参考 example.env.server 重命名为.env.serverG_CLIENT_ID你的GitHub客户端ID G_CLIENT_SECRET你的GitHub客户端密钥 JWT_SECRET通常与Client Secret相同 INIT_TABLEtrue # 首次运行必须为 true之后可改为 false ENABLE_CACHEtrue # 不需要缓存时设为 falseGitHub App 的回调 URL 填https://你的域名/api/oauth/github无需申请特殊权限。缓存时长怎么调。TTL常量在 shared/consts.ts 里改成更小的毫秒数即可让普通用户的页面也更接近实时代价是抓取和数据库写入频率上升低频访问的场景反而建议保持默认甚至调大。接进 AI 工具。newsnow 自带 MCP server 配置在你的 MCP 客户端配置里加一段即可把BASE_URL换成你的部署地址{ mcpServers: { newsnow: { command: npx, args: [-y, newsnow-mcp-server], env: { BASE_URL: https://你的域名 } } } }这样就能让支持 MCP 的客户端直接查询你站上的实时热点。写在最后官方路线图计划增加多语言内容、基于分类的个性化推荐并继续扩充全球数据源贡献方式见 CONTRIBUTING.md不过 README 注明当前版本暂不接受 PR新版发布前以 issue 反馈为主。项目采用 MIT 协议源码可自由使用和修改。【免费下载链接】newsnowElegant reading of real-time and hottest news项目地址: https://gitcode.com/GitHub_Trending/ne/newsnow创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。