( github actions + workflow 01 ) 实现爬虫自动化,每2小时爬取一次澎湃新闻

1. 起因, 目的:

受到这个项目的启发,https://github.com/worryzyy/cursor-ver-dl

我觉得很多事情, 是可以自动完成。

因此我打算,深入学习 github workflows, 写几个例子。比如

  • 自动化爬虫,每2个小时,运行一下。
  • 自动化发布内容。

项目代码

2. 先看效果

可行!

3. 过程:

  • 就是探索,尝试,踩坑, 记录过程, 总结经验,还有什么呢?
代码 1, 先记录一个大坑, 一定要添加这一句,即, 手动执行!

workflow_dispatch

yml 复制代码
on:
  schedule:
    - cron: '*/5 * * * *'  # 每2分钟触发
  workflow_dispatch:        # 👈 手动触发按钮,推荐加上, 一定加上!测试方便
代码 2, 完整的工作流。
yml 复制代码
# 工作流名称,在 GitHub Actions 界面显示
name: 爬虫自动化

# 触发条件:每2分钟运行一次
# 注意:免费版 GitHub Actions 可能限制最短为5分钟,调试时若失败可改成 '*/5 * * * *'
on:
  schedule:
    - cron: '*/5 * * * *'  # 每2分钟触发
  workflow_dispatch:        # 👈 手动触发按钮,推荐加上, 一定加上!测试方便


# 定义任务
jobs:
  run-crawler:
    # 使用最新的 Ubuntu 环境
    runs-on: ubuntu-latest

    # 执行步骤
    steps:
      # 步骤1:拉取仓库代码
      - name: 拉取代码
        uses: actions/checkout@v4

      # 步骤2:设置 Python 环境
      - name: 配置 Python
        uses: actions/setup-python@v5
        with:
          python-version: '3.9'  # Python 版本,建议用 3.9,可根据需要调整

      # 步骤3:安装依赖(如果有 requirements.txt)
      # 仅当文件存在时安装,避免重复安装
      - name: 安装依赖
        run: |
          if [ -f requirements.txt ]; then
            pip install -r requirements.txt
          fi

      # 步骤4:打印当前时间,方便调试
      - name: 打印运行时间
        run: echo "now is >>> $(date)"

      # 步骤5:运行爬虫脚本
      - name: 运行爬虫
        run: python3 news_spider/peng_pai_02.py

记录几个问题, 简问简答

我记得很久之前,有一个系列是, numpy 50问,还是100问。

写的很好,简洁而且清晰。

那种行文风格,我很喜欢。

1. GitHub 中,Actions 和 workflows 是什么关系?

  • 厨房, 做一道菜。

2. GitHub 每个项目,都可以设置一个 workflow ,是吗?是免费的,还是限制数量的?

  • GitHub 的每个项目(即仓库)都可以设置 workflow,而且通常是免费的。

3. 必须使用这个文件名,.github/workflows, 是吗?

  • 是的

4. 必须使用 .yml 或 .yaml 作为文件扩展名, 是吗?

  • 是的

从此往下,可以让AI 继续写,写20个问答,但是我觉得没必要了。

4. 结论 + todo

  • 打算多写几个,这只是第一个。

希望对大家有帮助。

相关推荐
机器视觉的发动机11 分钟前
AI算力中心的能耗挑战与未来破局之路
开发语言·人工智能·自动化·视觉检测·机器视觉
0思必得01 小时前
[Web自动化] Selenium处理滚动条
前端·爬虫·python·selenium·自动化
芷栀夏1 小时前
CANN开源实战:基于DrissionPage构建企业级网页自动化与数据采集系统
运维·人工智能·开源·自动化·cann
vx_biyesheji00012 小时前
豆瓣电影推荐系统 | Python Django 协同过滤 Echarts可视化 深度学习 大数据 毕业设计源码
大数据·爬虫·python·深度学习·django·毕业设计·echarts
鸽芷咕3 小时前
DrissionPage 成 CANN 仓库爆款自动化工具:背后原因何在?
运维·python·自动化·cann
池央3 小时前
CANN GE 深度解析:图编译器的核心优化策略、执行流调度与模型下沉技术原理
人工智能·ci/cd·自动化
深圳安锐科技有限公司3 小时前
斜拉桥、铁塔 4G 一体化索力计 工地快速加装方案怎么实施?
自动化·实时监测·自动化监测·桥梁监测·结构健康监测·索力计·索力监测仪
深蓝电商API3 小时前
爬虫IP封禁后的自动切换与检测机制
爬虫·python
北京耐用通信4 小时前
破解AGV多协议互联难题:耐达讯自动化Profinet转Devicenet网关如何实现高效协同
人工智能·科技·物联网·网络协议·自动化·信息与通信
喵手5 小时前
Python爬虫实战:公共自行车站点智能采集系统 - 从零构建生产级爬虫的完整实战(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·采集公共自行车站点·公共自行车站点智能采集系统·采集公共自行车站点导出csv