马上双11了,准备给亲爱的女朋友买一个新款苹果12。看了一下网上的评论,好像大家都在各种吐槽Iphone12,但是还是被买的净光光。各种补货中....
作为一个上过小学的人,咱们不能只听别人的评论。得用事实说话。所以我在某东上搜索了一下Iphone12。里面有近乎十万条评论。
苹果12玩起来到底怎么样?大家有可能知道,但是我不知道 。所以我只能分析一下大伙的使用感受。这次我将获取到的数据统计以词云的方式呈现。这样呈现的数据比传统的统计图更直观且更有艺术感。
初步计划是:
1.使用requests获取某东上的所有评论;
2.使用jieba将获取到的评论切割成单个词语,为词云做铺垫;
3.使用wordcloud生成词云图用以展示数据。
1.首先找到网友评论最多的手机,下拉找到最新评论。一共有100页评论。
2.如下图所示,首先我们F12或者右键打开开发者模式,然后找到Network下面的All,然后随便复制一句评论在下面ctrl+F复制搜索。找到这句评论所在的位置。
找到评论的我所在位置之后,点击左边的Headers,如图上所示的Request URL就是我们所要爬取所有评论的link。
3.找到评论所在的link之后,我们就可以上手coding了。评论有近十万条,每页只有十条评论,所以就是说有近一万多页。但是不要慌,我们先爬取一页数据看看,只要这一页成功了,剩下的页数问题都不大。
4.但是没有拿到数据,分析之后,确定是少了什么东西,首先我们来看看浏览器。
5.发现了吗?就是少了这个Refer和UserAgent和cookie,回到代码继续完善。
6.可以看到接入Refer和UserAgent之后已经拿到了我们想要爬取的数据。
但是这个json格式的数据看起来怪怪的,怪在哪里呢?前面多了这些fetchJSON_comment98vv7990(,后面多了);
所以我们首先要去掉这些对我们无益的东西来拿到正确的json数据
通过改良,拿到了我们想要的数据。
7.接下来似乎单页内容的爬取已经大功告成了,现在我们举一反三来试试多页评论的爬取。
8.为了更加直观方便的看出评论的内容,我们决定使用词云来进行展示。
首先需要我们对jieba和wordcloud进行了解,使用pip install jieba对jieba库进行安装。然后用jieba对获取到的评论进行分词。
9.然后使用pip install wordcloud再安装wordcloud。最后用generate方法生成词云图。
说明一下,默认生成的词云图是小苹果,但是我在这里引入了imageio的 imread方法 以获取原始图片apple.jpg的参数。
然后使用mask=mask 传递形状参数,所以最后我们获取到的就是一张圆形的词云图。
可以看得出来,网友对苹果12的待机时间、拍照效果和运行速度方面还是相当满意的。
源码已经整理好,想要学习的小伙伴在微信公众号内‘印象python’内回复‘iphone12’即可获取