Skip to content

Nodejs 爬虫 Jenkins+Puppeteer 定时获取数据

Jenkins 配置定时任务

https://www.cnblogs.com/qican/p/15508250.html

云服务器安装 Puppeteer

我的云服务器系统 centos, 按照 GitHub 官方的步骤未能安装

这是我亲测可用的方法 Nodejs 爬虫 Centos 无法运行 Puppeteer 解决方案

步骤

序号步骤备注
1ssh 登录阿里云
2执行命令
3运行 Nodejs 代码
4启动 Puppeteer 无头浏览器 爬取数据
5根据爬取到的数据生成数据统计 .md 文件
6Docsify 文档网站显示出来数据

时序图

Mermaid
sequenceDiagram
    participant Jenkins
    participant 阿里云
    participant Nodejs
    participant Puppeteer
    participant 抖音
    loop Jenkins+Puppeteer定时获取抖音数据时序图
        Jenkins->>阿里云: ssh登录阿里云
        阿里云->>阿里云: 执行命令
        阿里云->>Nodejs: 运行Nodejs代码
        Nodejs->>Puppeteer: 启动Puppeteer无头浏览器
        Puppeteer->>抖音: 获取抖音页面内容
        抖音-->>Puppeteer: 返回第一页数据
        Puppeteer->>抖音: 滚动浏览器
        Note right of Puppeteer: 滚动多次,直到没有更多数据
        抖音-->>Puppeteer: 页面加载数据完成
        Puppeteer->>抖音: 插入JavaScript通过dom获取页面数据
        抖音-->>Puppeteer: 返回页面数据
        Puppeteer-->>Nodejs: 返回页面数据
        Nodejs-->>Nodejs: 数据处理,把数据写入到.md文件
        Note right of Nodejs: 当然你也可以写入到数据库中
        Note right of Nodejs: 此时Docsify可以看到网站内容
        Nodejs-->>阿里云: 代码执行完成
        阿里云-->>Jenkins: 结束本次任务
    end