crawler.yml 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. name: Hot News Crawler
  2. on:
  3. schedule:
  4. - cron: "*/30 * * * *" # 每 30 分钟运行一次
  5. workflow_dispatch:
  6. # 添加权限设置
  7. permissions:
  8. contents: write
  9. jobs:
  10. crawl:
  11. runs-on: ubuntu-latest
  12. steps:
  13. - name: Checkout repository
  14. uses: actions/checkout@v3
  15. - name: Set up Python
  16. uses: actions/setup-python@v4
  17. with:
  18. python-version: "3.9"
  19. - name: Install dependencies
  20. run: |
  21. python -m pip install --upgrade pip
  22. pip install -r requirements.txt
  23. - name: Verify required files
  24. run: |
  25. echo "🔍 检查必需的配置文件..."
  26. if [ ! -f config/config.yaml ]; then
  27. echo "❌ 错误: config/config.yaml 文件不存在"
  28. echo "请参考项目文档创建配置文件"
  29. exit 1
  30. fi
  31. if [ ! -f config/frequency_words.txt ]; then
  32. echo "❌ 错误: config/frequency_words.txt 文件不存在"
  33. echo "请参考项目文档创建频率词配置文件"
  34. exit 1
  35. fi
  36. echo "✅ 配置文件检查通过"
  37. - name: Run crawler
  38. env:
  39. FEISHU_WEBHOOK_URL: ${{ secrets.FEISHU_WEBHOOK_URL }}
  40. TELEGRAM_BOT_TOKEN: ${{ secrets.TELEGRAM_BOT_TOKEN }}
  41. TELEGRAM_CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }}
  42. DINGTALK_WEBHOOK_URL: ${{ secrets.DINGTALK_WEBHOOK_URL }}
  43. WEWORK_WEBHOOK_URL: ${{ secrets.WEWORK_WEBHOOK_URL }}
  44. GITHUB_ACTIONS: true
  45. run: python main.py
  46. - name: Commit and push if changes
  47. run: |
  48. git config --global user.name 'GitHub Actions'
  49. git config --global user.email 'actions@github.com'
  50. git add -A
  51. git diff --quiet && git diff --staged --quiet || (git commit -m "Auto update by GitHub Actions at $(TZ=Asia/Shanghai date)" && git push)