以下所有工具均为免费开源,无商业授权限制:
飞书多维表是数据存储和可视化的核心,严格按以下步骤操作:
GitHub Actions是免费定时任务执行平台,严格按以下步骤操作:
我们用Python编写采集脚本,结合GitHub Actions定时执行,所有代码可直接复制:
回到GitHub仓库首页→点击「Create new file」→输入文件名为「fetch_wechat_data.py」→粘贴以下完整代码:
```python import os import requests import json from datetime import datetime 获取环境变量 FEISHU_APP_ID = os.environ['FEISHU_APP_ID'] FEISHU_APP_SECRET = os.environ['FEISHU_APP_SECRET'] FEISHU_BASE_TOKEN = os.environ['FEISHU_BASE_TOKEN'] FEISHU_TABLE_ID = os.environ['FEISHU_TABLE_ID'] WECHAT_TOKEN = os.environ['WECHAT_TOKEN'] WECHAT_BIZ = os.environ['WECHAT_BIZ'] WECHAT_COOKIE = os.environ['WECHAT_COOKIE'] def get_feishu_access_token(): url = "https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal" headers = {"Content-Type": "application/json; charset=utf-8"} data = {"app_id": FEISHU_APP_ID, "app_secret": FEISHU_APP_SECRET} response = requests.post(url, headers=headers, data=json.dumps(data)) return response.json()['tenant_access_token'] def get_latest_wechat_article(): url = f"https://mp.weixin.qq.com/cgi-bin/appmsg?action=list_ex&begin=0&count=1&fakeid={WECHAT_BIZ}&type=9&query=&token={WECHAT_TOKEN}&lang=zh_CN&f=json&ajax=1" headers = {"Cookie": WECHAT_COOKIE} response = requests.get(url, headers=headers) data = response.json() if data['base_resp']['ret'] != 0: raise Exception(f"获取微信文章失败:{data['base_resp']['err_msg']}") article = data['app_msg_list'][0] return { "title": article['title'], "link": article['link'], "read_num": article['read_num'], "share_num": article['share_num'] } def add_data_to_feishu(token, article_data): url = f"https://open.feishu.cn/open-apis/bitable/v1/apps/{FEISHU_BASE_TOKEN}/tables/{FEISHU_TABLE_ID}/records" headers = { "Authorization": f"Bearer {token}", "Content-Type": "application/json; charset=utf-8" } now = datetime.now().strftime("%Y-%m-%d %H:%M:%S") data = { "fields": { "数据采集时间": now, "文章标题": article_data['title'], "文章永久链接": article_data['link'], "文章阅读量": article_data['read_num'], "文章分享量": article_data['share_num'] } } response = requests.post(url, headers=headers, data=json.dumps(data)) if response.json()['code'] != 0: raise Exception(f"推送飞书失败:{response.json()['msg']}") if __name__ == "__main__": feishu_token = get_feishu_access_token() latest_article = get_latest_wechat_article() add_data_to_feishu(feishu_token, latest_article) print("数据采集推送成功!") ```
点击页面底部「Commit changes」→输入提交信息「添加微信公众号数据采集脚本」→点击「Commit changes」
回到GitHub仓库首页→点击「Create new file」→输入文件名为「.github/workflows/fetch_data.yml」→注意路径必须严格一致,否则不会生效→粘贴以下完整代码:
```yaml name: Fetch WeChat Data on: schedule: 每1小时执行一次,时间格式为UTC时间(北京时间=UTC+8) - cron: '0 ' workflow_dispatch: 允许手动触发测试 jobs: fetch: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v5 with: python-version: '3.11' - name: Install dependencies run: pip install requests - name: Run fetch script env: FEISHU_APP_ID: ${{ secrets.FEISHU_APP_ID }} FEISHU_APP_SECRET: ${{ secrets.FEISHU_APP_SECRET }} FEISHU_BASE_TOKEN: ${{ secrets.FEISHU_BASE_TOKEN }} FEISHU_TABLE_ID: ${{ secrets.FEISHU_TABLE_ID }} WECHAT_TOKEN: ${{ secrets.WECHAT_TOKEN }} WECHAT_BIZ: ${{ secrets.WECHAT_BIZ }} WECHAT_COOKIE: ${{ secrets.WECHAT_COOKIE }} run: python fetch_wechat_data.py ```点击页面底部「Commit changes」→输入提交信息「添加定时任务配置」→点击「Commit changes」
回到GitHub仓库首页→点击上方「Actions」→左侧选择「Fetch WeChat Data」→点击右侧「Run workflow」→点击绿色「Run workflow」按钮→等待1-2分钟后,检查飞书多维表是否有新增数据
根据运营需求修改`.github/workflows/fetch_data.yml`里的`cron`表达式:
微信公众平台Cookie有效期约7-15天,过期后脚本会报错,此时只需按以下步骤操作:
易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图