欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python爬取知乎单个问题下的回答

程序员文章站 2023-11-02 15:26:46
前言 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。 作者: 努力学习的渣渣哦 PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 http://note.youdao.com/noteshare?id=305 ......

前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

作者: 努力学习的渣渣哦

ps:如有需要python学习资料的小伙伴可以加点击下方链接自行获取

步骤:

  1. 打开需要获取的问题,f12,找到回答的想要数据的api,就是json

  2. 因为知乎下拉知乎页面,上方的url不会变化,动态加载的网站我们一般使用抓包,拼接url

  3. 完善程序

一. 选题:【如何看待上海新推行的垃圾分类办法?】

Python爬取知乎单个问题下的回答

二. 【f12】——【寻找含有文本数据的url】

  1. 如图:依次点开【network】——【xhr】,我们找到【ansers?include=data%.........】,点开【preview】看到里面的【data】数据,点开就是我们需要的回答信息。 Python爬取知乎单个问题下的回答

  2. 点到【header】——【request url】,打开该网址。(建议用火狐浏览器打开,json格式比较规范),找到这个就跟【获取微博】的方法一样了,只需要读取json文件里面的内容就好了。 Python爬取知乎单个问题下的回答

  3. 【拼接url】 多找几个,发现只有后面offset不一样。【topics&limit=5&offset=10&platform=desktop&sort_by=default】 url = 'xxxxxx.topics&offset={}&limit=20&sort_by=created'.format((i-1)*20)' Python爬取知乎单个问题下的回答

  4. 三. 输出结果

  5. 先输出 json,看看有没有获取到

Python爬取知乎单个问题下的回答

2 . 完整输出

Python爬取知乎单个问题下的回答

结束:此处我只获取了【回答的内容】,json里面包含很多信息,如评论时间、昵称等这些,有需要的按照上述方法获取就可以了