Python 知识星球爬虫(二)根据 Group > topic > comment 爬取评论内容

背景

想快速地提取 组队学习 知识星球打卡的信息
在原有的基础上进行改良,此处附上链接 Python 知识星球爬虫(一) 根据 topic > comment 爬取数据

遇到的难点

  • 超过30条评论的数据如何获取
  • user-agent + cookie 绑定登陆 调试代码的时候可以把标星的地方都加上
  • 正则表达式匹配评论内容re.match ,现在改成re.findall
  • 时间url编码问题,有待解决~~

说明

详细实现代码

代码不难,并且加了备注~~~

# 前面3个函数
def get_group_topics(headers, groups_id):
def get_topics_comments(headers, topics_id, begin_time=None):
def get_comments_count(headers, topics_id):

总体的思路都是:

  1. requests请求获取text数据
  2. text数据转成dict格式的数据
  3. 按需提取dict中的数据
def main():

最后通过main()将所有的逻辑组织起来

详细代码可以查看 Github

  • Python3 group_spider_py36.py
  • Python2 group_spider_py27.py

输出结果如下:


局部结果展示

使用方法

  1. 确认运行环境 Python2 或者 Python3
  2. 代码23~26行,user-agentcookie 的修改;
  3. 代码137行,根据学习小组,修改 get_group_topics 的信息。

获取Headers 和 cookies的方法

Headers

谷歌浏览器F12开发者模式,搜索 topic 然后看结果

image.png

cookies

我安装了google插件 点击跳转

image.png

主要的cookie中主要的key有2个 UM_distinctidzsxq_access_token。如果找不到 UM_distinctid,那将cookie中key和value都加上

你可能感兴趣的:(Python 知识星球爬虫(二)根据 Group > topic > comment 爬取评论内容)