先看效果

特点:

原理GitHub 可以设置一个同名库,这个库的 `README.md` 会自动显示到首页上

GitHub action 可以触发事件后运行 Python 脚本和 Linux 命令,这个触发事件可以是定时/star/push等

触发事件后,Python 脚本爬虫爬取知乎内容,并修改 `README.md`

Linux 命令push并更新状态。

简单来说,就是这么个流程

详细步骤:

第一步,建立仓库建立一个与你GitHub用户名同名的仓库。例如,我的GitHub用户名是 guofei9987,那么仓库名也是guofei9987

仓库新建文件 `README.md`,填入以下信息

此行文本之后会被覆盖为“知乎状态”

第二步,Python脚本

分为两部分,

1)爬虫爬取自己的知乎数据(点赞/收藏/喜欢)

2)把爬取的内容写入 `README.md`

爬虫部分

from bs4 import BeautifulSoup

import requests

import re

import sys

handle = sys.argv[1]

token = sys.argv[2]

readmePath = sys.argv[3]

# %%

# https://github.com/egrcc/zhihu-python

headers = {

'User-Agent': "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36",

'Host': "www.zhihu.com",

'Origin': "http://www.zhihu.com",

'Pragma': "no-cache",

'Referer': "http://www.zhihu.com/"

}

url = 'https://www.zhihu.com/people/guo-fei-16-12'

r = requests.get(url, headers=headers, verify=False)

soup = BeautifulSoup(r.content, "lxml")

# %%

stars = soup.find_all(name='div', attrs={'class': 'css-vurnku'})

print(stars[1].text) # 点赞、喜欢、收藏

follows = soup.find_all(name='strong', attrs={'class': 'NumberBoard-itemValue'})

print(follows[1].text) # 关注

写入 `README.md` 部分

agree, like, collection = re.findall('[0-9,]+', stars[1].text)

zhihu = '获得{}次赞同,{}次喜欢,{}次收藏,{}个关注'.format(agree, like, collection, follows[1].text)

with open(readmePath, "r") as readme:

content = readme.read()

newContent = re.sub(r"(?<=)[\s\S]*(?=)",

f"\n{zhihu}\n", content)

with open(readmePath, "w") as readme:

readme.write(newContent)

第三步,GitHub Action

name: Get Top Followers

on:

schedule:

- cron: '0 20 * * *'

watch:

types: started

jobs:

top-followers:

runs-on: ubuntu-latest

steps:

- uses: actions/checkout@v2

- name: Setup python

uses: actions/setup-python@v2

with:

python-version: 3.8

- name: Install dependencies

run: |

python -m pip install --upgrade pip

if [ -f requirements.txt ]; then pip install -r requirements.txt; fi

- name: Update README

run: |

python src/getTopFollowers.py ${{ github.repository_owner }} ${{ secrets.GITHUB_TOKEN }} README.md

python src/GetZhihuData.py ${{ github.repository_owner }} ${{ secrets.GITHUB_TOKEN }} README.md

- name: Commit changes

run: |

git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com"

git config --local user.name "github-actions[bot]"

git add -A

git diff-index --quiet HEAD || git commit -m "Update top followers"

- name: Pull changes

run: git pull -r

- name: Push changes

uses: ad-m/github-push-action@master

with:

github_token: ${{ secrets.GITHUB_TOKEN }}

说明这里的触发是每天20点(美国时间),事件也可以添加 star/push等

push用到的token用到secrets.GITHUB_TOKEN,防止明文泄露

到这里全部步骤就完事儿了,到时间会自动把知乎状态更新上去。

扩展:可以用 html 语言把那一行文本做的很酷炫

可以爬取更多内容,例如单片回答之类的

甚至可以增量存储,而不是直接替换,来画出趋势图。

python爬虫知乎点赞_如何在github首页显示知乎点赞数相关推荐

  1. python爬虫设计在哪里_《python 爬虫教程 知乎》 怎样用Python设计一个爬虫模拟登陆知乎...

    <python 爬虫教程 知乎> 怎样用Python设计一个爬虫模拟登陆知乎 python 爬虫教程 知乎2020-09-23 01:45:13人已围观 怎样用Python设计一个爬虫模拟 ...

  2. python爬虫爬微信红包_爬虫之微博抢红包

    先让大家看下最终效果... 1,使用的工具及包 google浏览器 User-Agent Switcher for Google Chrome 这是一个能自定义浏览器头的Google浏览器插件 req ...

  3. python爬虫代理的使用_从零开始写Python爬虫 --- 2.4 爬虫实践:代理的爬取和验证...

    爬网站的时候,由于各种原因,ip被锁了,这个时候我们就需要通过代理来突破封锁.网上有很多代理网站,付费和免费的都有,这次我们就来写一个scrapy爬虫,爬一些免费的代理下来用. 目标分析: 本次爬取了 ...

  4. python爬虫爬取房源_手把手教你用Python网络爬虫爬取新房数据

    项目背景 大家好,我是J哥. 新房数据,对于房地产置业者来说是买房的重要参考依据,对于房地产开发商来说,也是分析竞争对手项目的绝佳途径,对于房地产代理来说,是踩盘前的重要准备. 今天J哥以「惠民之家」 ...

  5. python爬虫抖音音浪_爬虫抖音_抖音淘宝联盟入驻条件

    如果你刚开始操作抖音,运营抖音还不懂平台的操作技巧,可以加我的微信:422591055 带你玩转抖音自媒体平台,我还联合了抖音运营的几位大佬,每日分享免费的抖音运营的实操讲解,还可以免费获取到抖音运营 ...

  6. python爬虫编程100例_哪种Python程序员最赚钱?爬虫数据告诉你!

    世界上有三种宝贵的东西: 知识.粮食和友谊. 那么,1 块钱,你能买到什么呢? 骑一次共享单车 买 2 包辣条 1/190 件格子衬衫 1/299 支口红 1/10099 个 iPhone XS 但是 ...

  7. python爬虫去哪儿网_大型爬虫案例:爬取去哪儿网

    世界那么大,我想去看看.相信每到暑假期间,就会有很多人都想去旅游.但是去哪里玩,没有攻略这又是个问题.这次作者给大家带来的是爬取去哪网自由行数据.先来讲解一下大概思路,我们去一个城市旅行必定有一个出发 ...

  8. python爬虫在哪里学_学完了python基础想学习python爬虫从哪里学起呢?

    针对Python爬虫,我还是有一定的话语权的 我之前就是先学习Python基础,然后用Python做了几个网站,后面需要数据,所以开始学习Python的爬虫技术. 关于Python方面的爬虫, 最基础 ...

  9. 基于python爬虫技术的应用_基于Python爬虫技术的应用

    办公自动化杂志 一.引言 本文主要是对 Python 爬虫技术进行阐述,基于 python 的爬虫与其他语言相比的有很多优势.通过爬去某个网站的所有新闻这个案例,来进一步阐释 Python 爬虫技术的 ...

最新文章

  1. 【 全干货 】5 分钟带你看懂 Docker !
  2. oracle存储过程 学习笔记
  3. 泛海精灵 Beta计划 (草案)
  4. 一行代码值 200 万?雷军公开小米新 Logo 引吐槽
  5. pricing data of Service order is copied from BP master data
  6. python 解三阶多项式系数_python – 评估多项式系数
  7. 哪个服务器比较稳定,云服务器哪个比较稳定
  8. asp.net门诊收费管理系统案例
  9. 安全合规/等级保护--13--我们通过了等级保护三级认证
  10. 【loj2339】【WC2018】通道
  11. gmail注册方法_“ Gmail脱机”应用正在关闭,这是使用的替代方法
  12. 信息检索(IR)——索引与检索
  13. 雷电2接口_厉害!跟Type-C长得一毛一样的雷电3,原来区别这么大,别搞混了
  14. 腾讯会议中如何使用虚拟摄像头
  15. dubbo的底层原理
  16. 教你cad版本怎么用转换器转换操作
  17. 第一套微信小程序教程目录(转载侵删)
  18. 解決:无法加载文件xxx.ps1,因为在此系统上禁止运行脚本...
  19. WPS2016word表格里数字不能在一行排列到最后
  20. 成为数据分析师,需要具备哪些技能?

热门文章

  1. 数字化研发项目方案(上)
  2. android手机信号强度检测
  3. html粘贴代码后不显示图片,为什么我正确粘贴了背景源代码,并粘贴了图片地址后,看不到图片?...
  4. 天玑1000L和麒麟980 哪个好
  5. 联合证券|北京宣布:全域禁放!新能源大爆发,有港股盘中暴涨超40%
  6. EXCEL里的各种奇怪计算问题:数字后面自动多了 0.0001, 数字后面位数变成000,以及一些取整,数学函数
  7. 微信公众号支付JSAPI 详细记录
  8. 安装win7+ubuntu双系统后丢失win7启动项
  9. win10模拟android,WIN10开安卓模拟器就蓝屏
  10. 如何优雅的复制论文公式-mathpix使用方法