当前位置: 首页 > news >正文

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

1. 起因, 目的:

受到这个项目的启发,https://github.com/worryzyy/cursor-ver-dl,
我觉得很多事情, 是可以自动完成。

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

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

项目代码

2. 先看效果

可行!
在这里插入图片描述

3. 过程:

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

workflow_dispatch

on:schedule:- cron: '*/5 * * * *'  # 每2分钟触发workflow_dispatch:        # 👈 手动触发按钮,推荐加上, 一定加上!测试方便
代码 2, 完整的工作流。
# 工作流名称,在 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: 配置 Pythonuses: actions/setup-python@v5with:python-version: '3.9'  # Python 版本,建议用 3.9,可根据需要调整# 步骤3:安装依赖(如果有 requirements.txt)# 仅当文件存在时安装,避免重复安装- name: 安装依赖run: |if [ -f requirements.txt ]; thenpip install -r requirements.txtfi# 步骤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

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

希望对大家有帮助。

相关文章:

  • MyBatis实战指南(七)MyBatis缓存机制
  • Python毕业设计226—基于python+爬虫+html的豆瓣影视数据可视化系统(源代码+数据库+万字论文)
  • Linux:多线程---线程控制(线程创建线程等待线程终止)
  • AJAX、Axios 与 Fetch:现代前端数据请求技术对比
  • Linux Swap分区应该禁用吗?深入辨析其作用与性能优化
  • React 状态管理指南:Redux 原理与优化策略
  • React删除评论逻辑:1、客户端立即更新UI(乐观更新)2、后台调用删除评论API
  • Flutter setState() 状态管理详细使用指南
  • 一键实现全站多语言化:translate.js 极简集成指南,支持Vue 、React 框架。
  • 《HarmonyOSNext属性动画实战手册:让UI丝滑起舞的魔法指南》
  • 深度学习小项目合集之音频语音识别
  • 【粤语ASRTTS】粤语语音识别与合成:重塑粤语智能化标杆
  • 通过flv.js在网页中拉流进行视频播放
  • SAP RESTFUL接口方式发布SICF实现全路径
  • 【Vue】组件及组件化, 组件生命周期
  • enumerable 和 configurable 属性详解
  • 海康对接摄像头
  • Docker快速构建并启动Springboot程序,快速发布和上线/
  • 前端基础知识ES6系列 - 03(数组新增了哪些扩展)
  • 论文阅读:强化预训练
  • html购物网站怎么做/网络seo软件
  • bae做网站/深圳全网推广托管
  • 西樵网站建设公司/常用的网站推广方法
  • 办公室装修大概多少钱一平方/aso优化app推广
  • 网页游戏网站网址/教育培训机构排名
  • 做网站需要哪些软件/seo项目培训