python爬虫知乎点赞_如何在github首页显示知乎点赞数
先看效果
特点:
原理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首页显示知乎点赞数相关推荐
- python爬虫设计在哪里_《python 爬虫教程 知乎》 怎样用Python设计一个爬虫模拟登陆知乎...
<python 爬虫教程 知乎> 怎样用Python设计一个爬虫模拟登陆知乎 python 爬虫教程 知乎2020-09-23 01:45:13人已围观 怎样用Python设计一个爬虫模拟 ...
- python爬虫爬微信红包_爬虫之微博抢红包
先让大家看下最终效果... 1,使用的工具及包 google浏览器 User-Agent Switcher for Google Chrome 这是一个能自定义浏览器头的Google浏览器插件 req ...
- python爬虫代理的使用_从零开始写Python爬虫 --- 2.4 爬虫实践:代理的爬取和验证...
爬网站的时候,由于各种原因,ip被锁了,这个时候我们就需要通过代理来突破封锁.网上有很多代理网站,付费和免费的都有,这次我们就来写一个scrapy爬虫,爬一些免费的代理下来用. 目标分析: 本次爬取了 ...
- python爬虫爬取房源_手把手教你用Python网络爬虫爬取新房数据
项目背景 大家好,我是J哥. 新房数据,对于房地产置业者来说是买房的重要参考依据,对于房地产开发商来说,也是分析竞争对手项目的绝佳途径,对于房地产代理来说,是踩盘前的重要准备. 今天J哥以「惠民之家」 ...
- python爬虫抖音音浪_爬虫抖音_抖音淘宝联盟入驻条件
如果你刚开始操作抖音,运营抖音还不懂平台的操作技巧,可以加我的微信:422591055 带你玩转抖音自媒体平台,我还联合了抖音运营的几位大佬,每日分享免费的抖音运营的实操讲解,还可以免费获取到抖音运营 ...
- python爬虫编程100例_哪种Python程序员最赚钱?爬虫数据告诉你!
世界上有三种宝贵的东西: 知识.粮食和友谊. 那么,1 块钱,你能买到什么呢? 骑一次共享单车 买 2 包辣条 1/190 件格子衬衫 1/299 支口红 1/10099 个 iPhone XS 但是 ...
- python爬虫去哪儿网_大型爬虫案例:爬取去哪儿网
世界那么大,我想去看看.相信每到暑假期间,就会有很多人都想去旅游.但是去哪里玩,没有攻略这又是个问题.这次作者给大家带来的是爬取去哪网自由行数据.先来讲解一下大概思路,我们去一个城市旅行必定有一个出发 ...
- python爬虫在哪里学_学完了python基础想学习python爬虫从哪里学起呢?
针对Python爬虫,我还是有一定的话语权的 我之前就是先学习Python基础,然后用Python做了几个网站,后面需要数据,所以开始学习Python的爬虫技术. 关于Python方面的爬虫, 最基础 ...
- 基于python爬虫技术的应用_基于Python爬虫技术的应用
办公自动化杂志 一.引言 本文主要是对 Python 爬虫技术进行阐述,基于 python 的爬虫与其他语言相比的有很多优势.通过爬去某个网站的所有新闻这个案例,来进一步阐释 Python 爬虫技术的 ...
最新文章
- 【 全干货 】5 分钟带你看懂 Docker !
- oracle存储过程 学习笔记
- 泛海精灵 Beta计划 (草案)
- 一行代码值 200 万?雷军公开小米新 Logo 引吐槽
- pricing data of Service order is copied from BP master data
- python 解三阶多项式系数_python – 评估多项式系数
- 哪个服务器比较稳定,云服务器哪个比较稳定
- asp.net门诊收费管理系统案例
- 安全合规/等级保护--13--我们通过了等级保护三级认证
- 【loj2339】【WC2018】通道
- gmail注册方法_“ Gmail脱机”应用正在关闭,这是使用的替代方法
- 信息检索(IR)——索引与检索
- 雷电2接口_厉害!跟Type-C长得一毛一样的雷电3,原来区别这么大,别搞混了
- 腾讯会议中如何使用虚拟摄像头
- dubbo的底层原理
- 教你cad版本怎么用转换器转换操作
- 第一套微信小程序教程目录(转载侵删)
- 解決:无法加载文件xxx.ps1,因为在此系统上禁止运行脚本...
- WPS2016word表格里数字不能在一行排列到最后
- 成为数据分析师,需要具备哪些技能?
热门文章
- 数字化研发项目方案(上)
- android手机信号强度检测
- html粘贴代码后不显示图片,为什么我正确粘贴了背景源代码,并粘贴了图片地址后,看不到图片?...
- 天玑1000L和麒麟980 哪个好
- 联合证券|北京宣布:全域禁放!新能源大爆发,有港股盘中暴涨超40%
- EXCEL里的各种奇怪计算问题:数字后面自动多了 0.0001, 数字后面位数变成000,以及一些取整,数学函数
- 微信公众号支付JSAPI 详细记录
- 安装win7+ubuntu双系统后丢失win7启动项
- win10模拟android,WIN10开安卓模拟器就蓝屏
- 如何优雅的复制论文公式-mathpix使用方法