mirror of
https://gitee.com/houhuan/TrendRadar.git
synced 2025-12-21 11:37:16 +08:00
73 lines
2.6 KiB
YAML
73 lines
2.6 KiB
YAML
name: Hot News Crawler
|
|
|
|
on:
|
|
schedule:
|
|
# 我们使用的是 github 官方提供的资源来进行的推送,而每个账号的资源是限额的,为了不被官方判定为滥用而面临封号的风险,不建议比半小时更低
|
|
- cron: "0 * * * *" # 每小时整点运行一次(实际有偏差) 或者 "*/30 * * * *" (每半小时执行一次) 或者 "*/30 0-14 * * *"(每天早上 8 点到晚上 10 点期间,每半小时运行一次)
|
|
workflow_dispatch:
|
|
|
|
# 添加权限设置
|
|
permissions:
|
|
contents: write
|
|
|
|
jobs:
|
|
crawl:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v4
|
|
with:
|
|
python-version: "3.10"
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
python -m pip install --upgrade pip
|
|
pip install -r requirements.txt
|
|
|
|
- name: Verify required files
|
|
run: |
|
|
echo "🔍 检查必需的配置文件..."
|
|
|
|
if [ ! -f config/config.yaml ]; then
|
|
echo "❌ 错误: config/config.yaml 文件不存在"
|
|
echo "请参考项目文档创建配置文件"
|
|
exit 1
|
|
fi
|
|
|
|
if [ ! -f config/frequency_words.txt ]; then
|
|
echo "❌ 错误: config/frequency_words.txt 文件不存在"
|
|
echo "请参考项目文档创建频率词配置文件"
|
|
exit 1
|
|
fi
|
|
|
|
echo "✅ 配置文件检查通过"
|
|
|
|
- name: Run crawler
|
|
env:
|
|
FEISHU_WEBHOOK_URL: ${{ secrets.FEISHU_WEBHOOK_URL }}
|
|
TELEGRAM_BOT_TOKEN: ${{ secrets.TELEGRAM_BOT_TOKEN }}
|
|
TELEGRAM_CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }}
|
|
DINGTALK_WEBHOOK_URL: ${{ secrets.DINGTALK_WEBHOOK_URL }}
|
|
WEWORK_WEBHOOK_URL: ${{ secrets.WEWORK_WEBHOOK_URL }}
|
|
EMAIL_FROM: ${{ secrets.EMAIL_FROM }}
|
|
EMAIL_PASSWORD: ${{ secrets.EMAIL_PASSWORD }}
|
|
EMAIL_TO: ${{ secrets.EMAIL_TO }}
|
|
EMAIL_SMTP_SERVER: ${{ secrets.EMAIL_SMTP_SERVER }}
|
|
EMAIL_SMTP_PORT: ${{ secrets.EMAIL_SMTP_PORT }}
|
|
NTFY_TOPIC: ${{ secrets.NTFY_TOPIC }}
|
|
NTFY_SERVER_URL: ${{ secrets.NTFY_SERVER_URL }}
|
|
NTFY_TOKEN: ${{ secrets.NTFY_TOKEN }}
|
|
GITHUB_ACTIONS: true
|
|
run: python main.py
|
|
|
|
- name: Commit and push if changes
|
|
run: |
|
|
git config --global user.name 'GitHub Actions'
|
|
git config --global user.email 'actions@github.com'
|
|
git add -A
|
|
git diff --quiet && git diff --staged --quiet || (git commit -m "Auto update by GitHub Actions at $(TZ=Asia/Shanghai date)" && git push)
|