github action 定时抓取抖音主播粉丝量
核心目标
使用 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