美文网首页Python小哥哥大数据 爬虫Python AI Sql
充气娃娃?Python告诉你到底有多爽......

充气娃娃?Python告诉你到底有多爽......

作者: 轻松学Python111 | 来源:发表于2019-08-16 21:58 被阅读8次

上某东的时候,突然给我弹了一个充气娃娃的广告,于是就点进去就看了一下评论,全是神评论啊。所以我就想着把大神们的评论们扒拉下来仔细瞅瞅,于是这篇文章就诞生了😄,纯属学习啊,不要想入非非啊,还有,不喜勿喷!

image.png

按照软件设计流程来:

需求分析-功能描述-技术文档-详细设计-编码-测试-交付-验收-后期维护

1.需求分析:

首先我先找了某东最火娃娃,里面评论近乎7万条,这里面神评论一定不少。所以决定从这个里面扒拉我们想要获取的数据

image.png

2.功能描述

  1. 充气娃娃这种东西,一般大家都在网上见得多,所以玩起来到底感觉怎么样。大家有可能知道,但是我不知道😂。所以我只能分析一下大伙的使用感受。这次我将获取到的数据统计以词云的方式呈现。这样呈现的数据比传统的统计图更直观且更有艺术感。
image.png

3.技术文档

1.使用requests获取某东上的所有评论;

2.使用jieba将获取到的评论切割成单个词语,为词云做铺垫;

3.使用wordcloud生成词云图用以展示数据。

4.详细设计

image.png

如上图所示,首先我们F12或者右键打开开发者模式,然后找到Network下面的All,然后随便复制一句评论在下面ctrl+F复制搜索。找到这句评论所在的位置。

image.png

找到评论的我所在位置之后,点击左边的Headers,如图上所示的Request URL就是我们所要爬取所有评论的link。

5.编码

找到评论所在的link之后,我们就可以上手coding了。评论有近七万条,每页只有十条评论,所以就是说有近七千多页。但是不要慌,我们先爬取一页数据看看,只要这一页成功了,剩下的页数问题都不大。

首先使用requests获取数据(requests的不会用的童鞋可自行百度哈)

image.png

但是,似乎,but没有拿到数据,什么鬼!

分析之后,确定是少了什么东西,首先我们来看看浏览器。

image.png

发现了吗?

就是少了这个Refer和UserAgent,回到代码继续完善。。。

image.png

可以看到接入Refer和UserAgent之后已经拿到了我们想要爬取的数据。

但是这个json格式的数据看起来怪怪的,怪在哪里呢?前面多了这些fetchJSON_comment98vv7990(,后面多了);

所以我们首先要去掉这些对我们无益的东西来拿到正确的json数据

image.png

通过改良,拿到了我们想要的数据。但是我们想要的只是评论啊,这里怎么还有好多评论之外的东西呢?我们返回浏览器继续查看

image.png

通过对比发现我们要的评论是在comments下面的content里面,按照这个逻辑,我们首先要进入到comments里面,然后在comments里面遍历出所有的content。

image.png

然后将数据保存我们命名的jd_comments.txt文件中。(本来获取到的数据是要放在数据库里面的,咱们在这里将它放入txt文档是为了后面词云的使用)

image.png

对比一下,看写入到file里面的内容与我们想要爬取的内容是否一致

image.png

接下来似乎单页内容的爬取已经大功告成了,现在我们举一反三来试试多页评论的爬取。

首先我们按照上面的步骤再次复制一段评论

image.png

然后通过同样的方法找出它的link对它们进行对比

image.png

对比发现除了它们的page不一样之外其余都是一样的。

image.png

也就是说它的分页是按照pagesize = 10 的每页十条记录和page = 0,1,2,3,。。。进行分页显示的。

每页十条记录显示是不变的,变的是不断递增的page,所以我们要把这个page设置为一个变量,让他循环增加。

image.png

这里说明一下

对get_spider_comments方法加入变量page,当我们指定page的值时,它就可以获取固定页面的评论。

在batch_spider_comments方法中sleep方法,用来模拟用户浏览,防止因为爬取太频繁导致ip被封。

image.png

首先我们爬取了100页的数据,可以看到爬取了984行。证明我们的多页爬取也是没有问题的。

为了更加直观方便的看出评论的内容,我们决定使用词云来进行展示。

首先需要我们对jieba和wordcloud进行了解,使用pip install jieba对jieba库进行安装。然后用jieba对获取到的评论进行分词。

image.png

然后使用pip install wordcloud再安装wordcloud。最后用generate方法生成词云图。

说明一下,默认生成的词云图是正方形的,但是我在这里引入了imageio的 imread方法 以获取原始图片ball.jpg的参数

image.png

然后使用mask=mask 传递形状参数,所以最后我们获取到的就是一张圆形的词云图

image.png

所以之后大家可以按照自己的意愿来设置图片的形状。

希望大家可以参考学习,共同进步!!

相关文章

  • 充气娃娃到底有多爽?Python告诉你……

    上某东的时候,突然给我弹了一个充气娃娃的广告,于是就点进去就看了一下评论,全是神评论啊。所以我就想着把大神们的评论...

  • 充气娃娃?Python告诉你到底有多爽......

    上某东的时候,突然给我弹了一个充气娃娃的广告,于是就点进去就看了一下评论,全是神评论啊。所以我就想着把大神们的评论...

  • 充气娃娃有多爽,python告诉你!!

    源码已上传,大家共同学习! importrequestsimportjsonimportosimporttimei...

  • 充气娃娃有多爽?

    文章不错,值得学习https://zhuanlan.zhihu.com/p/77833631

  • Java为例理解接口

    这里有个很通俗的理解:你要一个充气娃娃,这个充气娃娃有一个makeLove方法,你买这个娃娃就是冲着makeLov...

  • 爬虫实战| 8w+网友亲身体验,告诉你充气娃娃有多爽?

    学习!学习!!学习!!!学习之外目的到此为止! 上东东的时候,突然给我弹了一个充气娃娃的广告,于是就点进去就看了一...

  • 充气娃娃

  • 充气娃娃

    在我下定决心不再做宅男的时候,我的充气娃娃变成了真人。 这是非常残酷的事情,因为你无法想象这对于宅男是多么大的冲击...

  • 充气娃娃

    月布长袍 我在WOW里最喜欢的衣服之一,漂亮、大方、端庄。 猎人的这件月布,是白菜给做的,记得她那次做了好多件,公...

  • 充气娃娃

    文:ShakespeareSky(莎士比亚斯基) 一推开门,就看见你穿着我给你网购的新蕾丝裙微笑着,坐在那里安静、...

网友评论

    本文标题:充气娃娃?Python告诉你到底有多爽......

    本文链接:https://www.haomeiwen.com/subject/ffrijctx.html