有个漂亮女朋友是种怎样的体验?爬取知乎2.2亿的阅读量的话题

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

以下文章来源于菜鸟学Python

作者:菜鸟哥

前言

对于很多人来说,拥有一个漂亮的女朋友是一件非常幸福的事情。知乎上就有一个非常热门的话题,叫做有个漂亮女朋友是种怎样的体验?,在知乎上阅读量已经达到了2.2亿的阅读量,受到了十万多人的关注。

有个漂亮女朋友是种怎样的体验?爬取知乎2.2亿的阅读量的话题

小编今天就带领大家去抓取并分析一下这个话题下的回答者的一些内容,感受一下拥有一个漂亮的女朋友是种怎样的体验。

Python爬虫、数据分析、网站开发等案例教程视频免费在线观看

https://space.bilibili.com/523606542 

Python学习交流群:1039649593

01.如何爬取

对于数据的获取,我们需要构建特定的知乎数据接口,就能够获取得到回答者的回答内容。对于数据接口的获取,如下图所示:

有个漂亮女朋友是种怎样的体验?爬取知乎2.2亿的阅读量的话题

大家只需要在开发者模式下的network中打开XHR选项,然后找到以anwsers开头的json数据内容。可以看到数据中包含了回答者的评论内容等信息,接下来大家只需要复制接口的链接,然后利用程序来向接口请求数据即可。大家可能感觉接口十分的复杂,该如何去构造呢?其实并不是特别的复杂,小编在程序中已经为大家构造好了请求链接,程序如下图所示:

有个漂亮女朋友是种怎样的体验?爬取知乎2.2亿的阅读量的话题

程序中,通过for循环来不断的构造数据的接口,接口中包含了include、limit、offset等关键词,大家想要抓取其他回答的数据时,只需要更改不同问题的数字索引部分,例如下下述链接中的数字部分:

https://www.zhihu.com/api/v4/questions/28997505/answers?

程序通过self.get_json函数,来获取接口返回的json数据。并通过self.get_comments函数来解析json数据,提取数据。self.get_comments如下图所示:

有个漂亮女朋友是种怎样的体验?爬取知乎2.2亿的阅读量的话题

在self.get_comments函数中,通过BeautifulSoup库来解析json数据中的html文件,从而获取回答者的回答内容,并抓取回答者上传的图片内容。同时在json数据中,可以直接解析获得回答者的姓名、性别等内容信息。

运行上述的程序后,一共得到了3600+的回答者内容信息,得到的信息如下:

有个漂亮女朋友是种怎样的体验?爬取知乎2.2亿的阅读量的话题

02.对数据进行挖掘

在得到数据信息后,接下来我们对于大家的回答来进行简单的分析,看看从中能够得到哪些启发。

1).性别分析

在对回答内容进行抓取的时候,小编发现在回答者性别的分布中,并不只是清一色的男生,通过可视化我们来更加直观的感受一下回答者的性别分布是如何的。

有个漂亮女朋友是种怎样的体验?爬取知乎2.2亿的阅读量的话题

程序首先通过内置库collections中的Counter类来统计回答者的性别,然后通过饼形图来进行可视化展示。

有个漂亮女朋友是种怎样的体验?爬取知乎2.2亿的阅读量的话题

通过上图可以看到,在这个题目的回答者中,除去未知性别的回答者,虽然男生以压倒性的比例占据了绝大多数,但是女生回答者仍旧占到了8.38%的比例。

2).点赞数和评论数

我们知道,点赞和评论的数量越多,则代表了一个回答者回答内容受到了更多读者的赞同和支持。接下来,我们以点赞数量对所有的内容进行排序。看看点赞数量前十名中,点赞和评论数量的分布情况。

有个漂亮女朋友是种怎样的体验?爬取知乎2.2亿的阅读量的话题

上图中,柱状图代表的是评论数量的分布,其纵坐标参考左侧的坐标轴,而线型图则是代表着点赞数量的分布,其纵坐标参考右侧的坐标轴。从图中可以看出,汤家云野的那个汤郑正两位回答者获得了最多的评论数量,但是同“汤家云野的那个汤”获得高点赞数不同,”郑正“获得了较少的点赞的数量。

3).词云的分布

而针对大家的回答内容,则更能展现出来大家真实的体验和感受,我们通过词云的展示,来看一下大家的关键词都有哪些?

有个漂亮女朋友是种怎样的体验?爬取知乎2.2亿的阅读量的话题

程序中,首先利用jieba库将大家的回答进行分词处理,然后利用stylecould库进行词云的可视化展示。

有个漂亮女朋友是种怎样的体验?爬取知乎2.2亿的阅读量的话题

可以看到大家的词云中,关键词包含女朋友、漂亮、好看、喜欢、我们等内容,小编真的是越看越酸。

4).谁是最佳回答者

对于谁是最佳的回答者,知乎已经给出了我们答案,这个问题最上方的回答者——汤家云野的那个汤,无论从点赞数量还是评论数量,都是最多的,理应获得最佳回答者。作者非常走心的描述了自己的女朋友,不单单是外表上的美,更重要的是心灵美,多才多艺,会书法,会做菜。

有个漂亮女朋友是种怎样的体验?爬取知乎2.2亿的阅读量的话题

5).谁是晒图狂魔

在众多的回答者中,很多人都晒出了自己和女朋友的照片,这些人里面究竟谁晒的图片最多,谁是晒图狂魔呢,一起来看看吧。

有个漂亮女朋友是种怎样的体验?爬取知乎2.2亿的阅读量的话题

程序根据不同的回答者的名字创建专属的文件夹,然后将回答者晒的图片全部都抓取出来,并保存到了特定的文件夹中。

经过统计之后,发现名字叫速溶猩猩的用户呢,在这个问题上一共晒出了127张图片,成为了十足的晒图狂魔,至于该用户所晒得图片呢,大家可以去看一下,这里小编就不做过多的评论啦。

猜你喜欢

转载自blog.csdn.net/m0_48405781/article/details/114638687
今日推荐