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

输出结果如下:

《Python 知识星球爬虫(二)根据 Group > topic > comment 爬取评论内容》” />    局部结果展示</p><h2>使用方法</h2><ol><li>确认运行环境 <code>Python2</code> 或者 <code>Python3</code>;</li><li>代码23~26行,<code>user-agent</code> 和 <code>cookie</code> 的修改;</li><li>代码137行,根据学习小组,修改 <code>get_group_topics</code> 的信息。</li></ol><h1>获取Headers 和 cookies的方法</h1><h2>Headers</h2><p>谷歌浏览器<code>F12</code>开发者模式,搜索 topic 然后看结果</p><p><img layer-src=点击跳转

《Python 知识星球爬虫(二)根据 Group > topic > comment 爬取评论内容》” />    image.png</p><p>主要的cookie中主要的key有2个 <code>UM_distinctid</code> 和 <code>zsxq_access_token</code>。如果找不到 <code>UM_distinctid</code>,那将cookie中key和value都加上</p></div><div style=     原文作者:Spareribs
    原文地址: https://www.jianshu.com/p/728262baa8f6
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。

点赞