核心目标


使用 GitHub Action 定时获取抖音主播粉丝数的核心目标是每小时(UTC 时间)拉取粉丝数量,不采用易被封禁的爬虫方式,最终将结果部署到 GitHub Pages 展示。

关键问题及解决方案


关键问题在于 GitHub Action 的 IP 位于美国,直接访问抖音受限。解决方案是通过 Tailscale 和 Squid 代理:在 NAS 上部署 Tailscale(建立虚拟网络)和 Squid(提供代理服务),让 GitHub Action 通过 Tailscale 接入 NAS 网络,再借助 Squid 代理(http://100.108.141.117:3128)访问抖音,规避地域限制。

GitHub Actions 工作流配置


工作流触发条件包括定时触发(cron: '0 * * * *',每小时 UTC)和手动触发(workflow_dispatch),运行在 ubuntu-latest 环境中。

执行步骤依次为:用 actions/checkout@v3 检出代码;

通过 tailscale/github-action@v3 连接 Tailscale(传入 TAILSCALE_AUTHKEY);

配置环境(安装 Python 3.9、依赖库及 Chrome 与 ChromeDriver);

调试相关操作(保存抖音 HTML、上传调试文件);

运行 tiktok_fans_tracker.py(指定代理);

生成 index.html 并通过 peaceiris/actions-gh-pages@v3 部署到 gh-pages 分支。

输出结果

最终输出包括:存储粉丝数及时间戳的 fans_data.csv;粉丝变化趋势图 fans_trend.png;以及 GitHub Pages 上的 index.html 展示页(整合图表和最新数据)。

项目:https://github.com/veyvin/douyin_fans_tracker/tree/gh-pages



如果是私有仓库,注意github action 每月有使用额度,不要超过就好,查看自己的账单:https://github.com/settings/billing,这里的1.27刀,因为是公共仓库,全部减免了。




https://docs.github.com/zh/billing/concepts/product-billing/github-actions#minute-multipliershttps://docs.github.com/zh/billing/concepts/product-billing/github-actions#minute-multipliers