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

前言

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

作者: 努力学习的渣渣哦

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

http://note.youdao.com/noteshare?id=3054cce4add8a909e784ad934f956cef

步骤:

  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. 先输出 json,看看有没有获取到

Python爬取知乎单个问题下的回答
2 . 完整输出
Python爬取知乎单个问题下的回答
结束:此处我只获取了【回答的内容】,json里面包含很多信息,如评论时间、昵称等这些,有需要的按照上述方法获取就可以了