用Python来统计知识星球打卡作业

本文介绍了如何使用Python爬虫模拟浏览器请求,获取知识星球的帖子数据,特别是作业和打卡信息,然后利用MongoDB进行数据存储和统计分析,最终实现对用户作业打卡情况的统计。通过分析网络请求,找到数据接口,结合MongoDB进行数据处理,实现了自动化统计功能。
摘要由CSDN通过智能技术生成

640?wx_fmt=jpeg

题图:Photo by Ian Simmonds on Unsplash

标题叫“用Python批改知识星球作业”,感觉太标题党了,所以换了个词,不过等AI更强大点是有可能做到的。咱们知识星球,每周都要统计大家的作业完成情况与打卡次数,因为知识星球没有给星主提供运营统计数据,所以,我只能自己动手解决,特别推荐产品和运营人员学点编程,懂点爬虫,因为互联网人都是靠数据说话的。

思路分析和撸代码总共花了1个小时,但是写这篇文章却花了我4个小时。现在知道程序员为什么宁可多写几行代码也不愿意写文档了吧。写文章真不容易,听说公众号的赞赏功能又回来了,以后又有动力更新文章了。

我们的目标是统计出最近一周在星球里的打卡与作业完成情况,所以我们先要想办法拿到数据,再对数据进行统计分析。因为知识星球提供了 PC 浏览器版本,数据的抓取我们直接从 Chrome 浏览器找入口。

第一步:思路分析

爬虫获取数据就是利用程序模拟浏览器发起网络请求,将数据采集回来,所以,我们先来分析网络请求在浏览器里面是怎样的。微信扫描登录知识星球 https://wx.zsxq.com/dweb/ 后, 浏览器右键「检查」,打开开发者模式选择 「Network」就可以看到浏览器发出的每个网络请求,选择你要进行统计的圈子,你会看到有很多请求。

640?wx_fmt=png

这些请求全部是和该圈子相关的,在这个阶段首先你要对整个往页的数据有个大概了解,比如在该页面提供的功能有圈子的基本介绍、星主的基本信息、中间是帖子列表,左侧是圈子列表,此时你需要根据每个请求的返回结果做出判断

groups 请求的数据对应页面左边的圈子列表。

640?wx_fmt=png

topics?count=20 正是我们要找的帖子数据的请求接口

640?wx_fmt=png


找到了获取数据的请求接口后,我们先来对返回的数据结构了解一下

{
   
   "topic_id": 48551524482128,
   "group": {
       "group_id": 518855855524,
       "name": "Python之禅和朋友们"
   },
   "type":
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值