n8n 自动化:获取最新 GitHub 热榜数据

n8n 简介

n8n 是一款强大且灵活的开源自动化工具,支持无代码/低代码方式搭建各类自动化流程。用户可通过可视化界面,将各种 API、数据库、应用服务(如 GitHub、Slack、邮件、数据库等)灵活串联,实现数据采集、处理、推送等自动化任务。n8n 拥有丰富的内置节点,支持自定义代码扩展,并可本地部署或云端运行,非常适合开发者和企业构建个性化的数据自动化解决方案。

一、功能概述

Github Day Trend 是一套使用 n8n 搭建的自动化工作流,能够每日自动抓取 GitHub Trending 页的热门开源项目,提取核心信息(如项目名称、作者、描述、语言、Star 数等),并借助 AI 自动生成简明项目摘要,最终输出结构化的热门项目数据。

二、适用场景

  • 技术团队:每日获取开源新项目灵感,跟踪技术趋势

  • 媒体/内容运营:自动生成“今日 GitHub 热门项目”专栏内容

  • 个人开发者:快速筛选值得关注的新项目

三、核心流程步骤

  1. 手动触发:支持一键启动,便于测试和调试

  2. 抓取数据:自动请求 GitHub Trending 页面,获取热门仓库 HTML

  3. 解析内容:提取每个项目的详细数据(名称、作者、描述、语言等)

  4. 补充信息:通过 GitHub API 获取 Star 数和 README

  5. 智能摘要:利用 OpenAI GPT-4 自动生成一句话项目简介

  6. 结构化输出:整合所有信息,输出为标准化数据,便于后续展示或集成

四、涉及系统/服务

  • GitHub(网页抓取 & API 调用)

  • OpenAI GPT-4(AI 语义摘要)

  • n8n 内置节点(HTML 解析、HTTP 请求、代码处理等)

五、流程实现


github-day-trend-1b765c.png

节点详解

步骤 节点名称 主要作用
1 手动触发 手动启动流程,便于测试与调试
2 请求 GitHub Trending GET 请求 https://github.com/trending,抓取热门仓库页面
3 提取主内容区域 用 CSS 选择器 div.Box 提取 trending 仓库列表 HTML
4 提取所有仓库 HTML article.Box-row 拆分每个仓库 HTML,组成数组
5 拆分为单条处理 将每个仓库 HTML 拆为单独 item,便于逐条处理
6 解析仓库信息 提取仓库名、作者、描述、语言等关键信息
7 获取 Star 数 调用 GitHub API 获取 star 数等详细数据(需 Bearer Token,推荐配置)
8 获取 README 调用 GitHub API 获取 README(base64 编码)
9 解码 README 用 JavaScript 解码 README,得到纯文本
10 AI 总结简介 用 OpenAI GPT-4.1,生成一句话项目介绍(需配置 API Key)
11 整合输出结构 汇总所有关键信息,输出结构化数据
12 输出/后续处理 可扩展保存数据库、推送消息、邮件通知等操作

六、拓展建议

  • 自动定时触发:可通过 n8n 定时节点设为每日自动运行

  • 多语言支持:可根据项目语言字段,筛选特定语言项目

  • 多渠道推送:结合企业微信、邮件、实现自动推送


七、总结

Github Day Trend 工作流,极大简化了 GitHub 热门项目的每日采集、整理与分发流程,为技术团队、内容运营与开发者提供了高效的自动化工具。通过 n8n 的可视化与可扩展性,用户可根据需求灵活集成更多后续操作。

参考链接:

工作流模版地址:https://github.com/tmstack/n8n-workflow-templates

精选工作流推荐:https://n8ntemplates.dev/zh

n8n官网:https://n8n.io

posted @ 2025-07-14 22:56  tmstack  阅读(7)  评论(0)    收藏  举报