打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
学妹来北京玩要吃烤鸭,我写了100行代码爬了2000多个短评,就为了证明...

放假啦放假啦,学妹要来北京玩,点名非要请她吃全聚德的烤鸭!我告诉他全聚德的烤鸭真的一般般,她说不信,来北京谁不知道要吃北京烤鸭。还说我请不起她,面对这样的姑娘我百口莫辩。于是我花了1个小时写了100行代码爬了烤鸭2000的多条数据,我们用数据说话,证明给她看!


1.网页分析


1).网页分析

我选择爬取美团上全聚德的评价信息,来做一个数据分析。利用美团的智能排序,第一家是全聚德(天安门店)。


点击进去后,查看网页源代码,右键页面打开开发者模式,找到Network下的XHR,翻到下面的评论信息后,一直不断的翻页,就可以发现我们所要寻找的目标如图所示:


2).查看url规则

它是一个get的请求方式,返回的是json数据。查看它的请求url,这么长的一串,通过观察发现,它的url很有规律,不同的请求url只是切换了offset而已,而offset指的是每切换一次页面时距离第一条评论的偏移量是多少。修改offset为10,20等10的倍数,一共有2070条。



2.50行代码搞定


1).爬取网页

首先是模拟浏览器来请求json数据。由于其并没有设置加密,所以我们采取用requests库进行求取,并用json来解析它所返回的信息。如果Ajax请求的url有加密的话,可以用selenium来搞定!由于评论最后一页的offset为2070,所以只需要不断的循环请求,便可以不断的得到json数据。


思路:

a).经过上面的网页分析,我们构造url的规律一共2070条,只要循环一下构造url的offset

b).因为没有加密直接requests获取json数据即可

c).爬取数据也要懂规矩,加一些延迟比较好


2).解析json数据

第二部分是对于json数据的解析,对于返回的json数据,直接利用json库来进行解析,并提取我们所需要的数据,这里我们一共提取了四项数据,包括用户名称、评分、 用户评价、 以及针对于每条评论被查看的人数。数据进行提取后被保存到了本地的csv文件夹下,代码如下图所示:



 3.数据分析


1).我们一共爬取了2034条的评价,对数据简单的清洗去掉一些空的评论之后还有1500条左右,看一下爬取结果如下图所示:


2).评分最高

看一下查看人数最多的评论前10条,发现评分都很高。而且字数也不少,那么字数多的评论是不是都是好评呢,我们继续探索


我们把字数也作为一个纬度,然后结合评分和阅读数进行分析:


3).评分的饼图




从饼形图里可以看出,评价为五星和四星的还是占大多数,但是也存在相当比例的一星、二星和三星评价,说明大家对于全聚德并不全都是一致的好评。



4.词图分析


差点忘记我们的目的了,我们是要看短评的内容分析,看看全聚德烤鸭到底好不好吃,大家的评论焦点是什么,词频如何:

>>

全聚德词频统计结果
服务 ========== 755
烤鸭 ========== 471味道 ========== 439不错 ========== 422好吃 ========== 331
一般 ========== 294
全聚德 ========== 233就是 ========== 222
服务费 ========== 209
北京 ========== 207


制作的词云效果如下图:

从词云可以看出,对于北京全聚德烤鸭的整体评价还是不错的,但是也存在“一般”,“服务费”,“服务态度”这样的高频词汇服务费确实伤不起啊,分析完这些数据之后,我也服了,咬咬牙我还是掏腰包带她去吃烤鸭吧。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
一步一步教你爬取微信公众号文章
python爬虫之异步XHR爬取
Python爬虫之b站的正确打开方式
使用Python爬取公号文章(上)
python解析json实例方法
SAP UI5 应用中 MockServer 的实例化方法
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服