暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

用户画像系列——利用githup action自动爬取手机数据

228

背景:

在《用户画像系列——在一些中小型公司数据不全的情况下做画像怎么做呢?》一文中,讲解在一些中小型公司如何数据不全的情况下,如何利用现用数据结合一些外部数据来完善画像标签。

里面提供了爬取手机价格的代码,那么有没有什么办法能做到爬取手机价格自动化呢?

调研:

(1)部署一台机器,定时运行爬虫任务进行爬虫----要求有一台机器

(2)利用其他公司实现自动化爬取,比如:利用gitee 流水线、githup action,gitee 流水线目前只有200分钟免费,因此考虑使用github action 来处理

实现:

GitHub Action 介绍:大家知道,持续集成由很多操作组成,比如抓取代码、运行测试、登录远程服务器,发布到第三方服务等等。GitHub 把这些操作就称为 actions。很多操作在不同项目里面是类似的,完全可以共享。GitHub 注意到了这一点,想出了一个很妙的点子,允许开发者把每个操作写成独立的脚本文件,存放到代码仓库,使得其他开发者可以引用。如果你需要某个 action,不必自己写复杂的脚本,直接引用他人写好的 action 即可,整个持续集成过程,就变成了一个 actions 的组合。这就是 GitHub Actions 最特别的地方。https://docs.github.com/zh/actions

首先实现好爬虫代码,保证本地测试可运行,提交到githup 上,新建action

构建自己的workflows:

    # This workflow will build a Java project with Maven
    # For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven


    name: Java CI with Maven
    on:
    schedule:
    # 定时执行,Runs at 17:00 UTC every day
    - cron: '0 16 * * *'
    # 手动触发事件
    workflow_dispatch:
    inputs:
    logLevel:
    description: 'Log level'
    required: true
    default: 'warning'
    tags:
    description: 'Test scenario tags'


    jobs:
    build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - name: Set up JDK 1.8
    uses: actions/setup-java@v1
    with:
    java-version: 1.8
    - name: Build with Maven
    run: mvn -B package --file pom.xml
    - name: Run Java Application
    run: java -cp target/zhihu-collector-1.0-SNAPSHOT-jar-with-dependencies.jar org.example.SpiderMain
    - name: Commit
    run: |
    git config --local user.email xiaoqiu2017wy@163.com
    git config --local user.name zhugezifang
    git add -A
    git commit -m "update"
    - name: Push changes
    uses: ad-m/github-push-action@master
    with:
    github_token: ${{ secrets.MY_GIT_TOKEN }}
    branch: master

    设置 Secrets 和仓库权限read and write(保证仓库可以push)

    这样就完成了配置,我们就可以利用githup action 来做到自动化爬取手机价格数据了

    结束语:

    本文分享了利用GitHub Action 来实现自动爬取手机价格数据,达到使画像数据更加完善的效果,避免利用服务器等资源,从效果来看是非常方便,文中代码参考:https://github.com/zhugezifang/zol-collectorzol-collector


    GitHub Action参考:

    https://www.ruanyifeng.com/blog/2019/09/getting-started-with-github-actions.html

    https://www.cnblogs.com/niumoo/p/14472691.html


    历史用户画像系列文章:

    用户画像系列—当我们聊用户画像,我们在聊什么?

    用户画像系列—如何从0到1建设用户画像

    用户画像系列——推荐相关核心标签(偏好类)

    用户画像系列——Lookalike在营销圈选扩量中的应用

    用户画像系列——布隆过滤器在策略引擎中的应用

    用户画像系列——在一些中小型公司数据不全的情况下做画像怎么做呢?

    用户画像系列——数据中台之OneID (ID-Mapping)核心架构设计


    作者简介:诸葛子房,曾供职于京东、BAT,在大数据领域有多年实践经验,欢迎交流

    文章转载自诸葛子房的博客,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

    评论