Python对知乎的爬虫分析

Python对知乎的爬虫分析

5月 15, 2019 阅读 4650 字数 853 评论 0 喜欢 4

需要准备的工具:
1、浏览器(谷歌或者火狐都行,但推荐火狐,火狐的开发者模式比较友好)
2、Python环境 + PyCharm(语言仅是一种工具)

首先,我们通过浏览器访问知乎的任意一个回答下的帖子,此处我访问的问题是“浙江的你,择偶的标准是怎么样的”,(问题这个没有做任何要求,任意问题都行),然后按下浏览器的F12键,启用开发者模式,将选项卡中切换至网络模式,然后不断的下拉问题,截取它的网络封包,如下图

分析的大致思路是这样的:优先查看POST数据包或者json请求数据包,最后是查看js,html类型的文件,当选中一条请求数据之后,右边就会弹出一个详细的请求过程窗口,按下编辑和重发,便于分析可用数据。

由于是GET请求,所以取出如下几个参数,用于分析
1、Host(用于请求目标主机的URL)
2、U-A(浏览器标识)
3、Referer(部分网站会参照Referer值来验证数据包是否有爬虫标识,如网易)
4、Cookies(身份验证状态码,由于此处我检索触发的数据包请求是“游客状态”下的,所以此处的Cookies应该作用不大)
分析HOST可以得出,limit和offset两个值可以更改,可能sort_by的参数也可做更改不过在不确定sort_by有多少参数的情况下,我还是不改了….

访问这些host地址后得到了如下结果:

确定无疑了,这些json数据就是我想要的,hhhh…对于json数据的分析就不展开了,有兴趣的小伙伴可以去百度一下json基础入门,那就直接开始Pythoning吧,以下是代码篇!….

 

以下就是知乎数据爬取后的结果图:

本人菜鸡一只,如果您有什么更好的思路或者算法,烦劳发送至snowion@qq.com,一起成长一起进步鸭


伽蓝君
2019.5.16