# 基于python实现的某东手机评论数据采集与分析爬虫
# 一、系统概述
对评论所含内容进行简单的分析,初步确定所需要抓取的内容。首先,在京东商城手机信息界面的用户评价中含有昵称、会员等级、评价星级,评价内容、手机型号、购买时间等等。
其中通过分析会员等级与购买的关系,可以给为不同会员提供不同的产品做参考。分析评价内容可以大概可以推断出消费者对该产品的态度、以及哪些回复关注度比较高等等。分析购买时间可以了解到消费者集中的购买时间段。这些分析对商品广告的精准投放以及为消费者提供更个性化的服务提供了重要参考。
# 二、所用工具
## 2.1 运行环境
- Chrome 版本 72.0.3626.109(正式版本) (64 位)
- Python 3.5.2 :: Anaconda 4.2.0 (64-bit)
## 2.2 前置库
- json
- time
- numpy
- requests
- BeautifulSoup
- fake_useragent
# 三、数据采集
## 3.1 确定待采集数据
用户ID、评论内容、会员级别、点赞数、回复数、评价星级、购买时间、手机型号
## 3.2 确定采集对象及采集思路
选择按评论数降序排列的手机型号,选择Apple iPhone 8 Plus(A1864) 64GB的评论数据进行采集。采集思路如图3-1所示。
![](http://www.writebug.com/myres/static/uploads/2021/10/19/df20c075a6fadaad17255d7732247ee7.writebug)
## 3.3 采集准备
(robots协议说明:robots是网站对爬虫的限定规则,它规定了那些爬虫可以爬,那些数据可以爬)
因此在采集之前,查看京东商城的robots协议,如图3-1所示。
![](http://www.writebug.com/myres/static/uploads/2021/10/19/666e9334645234bb102ab119c30bd796.writebug)
参考robots协议规则:
- **User-agent**:指定对哪些爬虫生效
- **Disallow**:指定不允许访问的网址
- **Allow**:指定允许访问的网址
通过分析robots协议的内容,而下面即将采集的目录在根目录的comment的子目录下,不涉及到用户的个人隐私,因此可以继续进行采集。但是在采集过程中,添加sleep函数,既为了防止频繁访问ip被封,也防止高频度访问对网站带来的负荷。
## 3.4 开始采集数据
### 3.4.1 分析网页
首先选择一款评论数目多的手机,按照评论数降序排列,如图3-3京东手机评论降序所示。
![](http://www.writebug.com/myres/static/uploads/2021/10/19/3fc43211e66bc2b52533385c485315a5.writebug)
点击进入手机信息页面,在默认手机参数选择下,按F12打开调试界面,打开network面板并在过滤器中填入“comment”,如图3-4 Chrome开发人员工具所示。
![](http://www.writebug.com/myres/static/uploads/2021/10/19/51da7d87ae71eba5df4f7dc89abd4379.writebug)
此时,点击商品评价,筛选到如图3-5评论数据捕获所示。
![](http://www.writebug.com/myres/static/uploads/2021/10/19/7d412e3bb7de4b5b01143868635d5b51.writebug)
含有pageComment字段的即为服务器返回的页面评论数据,右键该文件->copy->Copy link address复制url并在url地址栏进行访问。访问结果如图3-6所示。
![](http://www.writebug.com/myres/static/uploads/2021/10/19/fe0070271e8c9d8212bd280a111ac1bd.writebug)
可以很容易的看到,服务器返回给页面的数据是JSON格式的数据。
可以先使用JSON在线编辑器进行json解析来验证这部分数据,在解析时发生错误,这是由于页面的数据的头部和尾部有一些其他的字符使得页面内容不完全是json数据,去掉第一个’(‘以及其之前的字符,同时去掉最后一个’)’以及其之后的字符即可。整理之后的结果如图3-7所示。
![](http://www.writebug.com/myres/static/uploads/2021/10/19/b95df2fe1b1a282a2a3498d2c976421d.writebug)
从图中可以清楚的看到,评论共有100页,每页的comment有10条。单独点开其中一条评论数据如下图。
![](http://www.writebug.com/myres/static/uploads/2021/10/19/f89fa930637ac7fa7840fdb0c4bec892.writebug)
可以清楚的看到我们所需要的数据。
那么新的问题来了,京东界面所写评论有163万+条,那其他的数据都去哪了?查看一下第100页后面,看有没有发现。
![](http://www.writebug.com/myres/static/uploads/2021/10/19/ec359070ff098076b0d9d8e789bb32ad.writebug)
从图3-9中可以看出,还有114万+用户给了默认评价,为了分析更准确,加上这部分数据(其实点开也就100页,其他的可能服务器就没留着)。按照同样的方式,获取这部分评论的通用url。
![](http://www.writebug.com/myres/static/uploads/2021/10/19/9d9bcde195e2ede4d2ab18b9e73fa18b.writebug)
尽管如此,也才仅有1500条左右的数据,不过在评论的菜单中还有追评、好评、中评、差评等,把这些也算进来,对比比较差异,见图3-11url参数分析。
![](http://www.writebug.com/myres/static/uploads/2021/10/19/2f837ec35aba26548cbae8597c7731e9.writebug)
发现不同评价的score不同,综合大约有4000~5000条数据。
继续统计手机不同参数所含的评论。在这里我将手机颜色从“金色”改为了“深空灰色”,按照同样的方式查看url。并与之前获取的进行对比。如图3-12。
![](http://www.writebug.com/myres/static/uploads/2021/10/19/b3c38e59480790c8b4fbd2f63c179039.writebug)
对比之后发现,不同颜色的产品ID(productid)发生了变化。但其实评论区域还是各种颜色都有,所以这也是手机评论数据,只不过为了美观,在每次更改手机参数选择时进行了刷新(动态生成)。
根据这些url参数,就可以尽可能多的爬取该款手机的评论数据,代码里面的SpiderScript是一个完整的京东评论爬虫脚本,并且采用了随机浏览器和延时访问来防止爬虫被封,为了获取完整的数据,加入了try…except防止程序中断崩溃。
### 3.4.2 思考
经过上面的分析,可以看到数据量非常有限,远远没有达到163万条。经分析,有以下两种可能:
- 出现了数据造假,这个数字可能是刷出来的(机器或者水军)
- 真的有这么多的评论,但这时候系统可能只显示其中比较新的评论,而对比较旧的评论进行了存档
# 四、数据清洗与分析
## 4.1 清洗过程简述
在进行数据清洗之前要做的一项工作是先观察数据,看看数据中的哪些部分是合理的,哪些是不合理的,来确定待清洗的部分。使用python语句读取的数据如图4-1。
![](http://www.writebug.com/myres/static/uploads/2021/10/19/3d3fea9757cc3a5157a88b55a0a1e1a7.writebug)
从图中可以清晰的看出,有大量的用户并未填写评价,这部分数据没有任何用处,并且会影响到我们最后统计的,结果,因此这部分数据需要清空。其次每一列中还存在一些空值,这些空值会严重影响我们的分析判断,并且很容易出现语法错误,因此这部分空值还要进行列格式的统一。
## 4.2 可视化与分析
这部分主要使用python结合pyecharts库来实现整体的功能,将上面清洗过的数据接着进行分析。
### 4.2.1 消费时段分析
按照最初的想法进一步分析下我们现有的数据,首先是购买一天中对不同时间段购买情况的分析,如图4-2所示。
![](http://www.writebug.com/myres/static/uploads/2021/10/19/b90d53d8bfd8c96b1d64732f23bd8ba9.writebug)
分析一天中不同时段消费者的手机购买情况,可以分析得出,大部分消费者在午时(10-12时)和晚上(20-22时)出现了消费高峰期,在此时段顾客购买商品的概率更大,他们浏览商品的机会更多。
### 4.2.2 月消费与会员等级分析
从规格化的数据中看出,会员等级是有限个,但都是字符串形式,只有对它们进行统一编码,才能统计类别个数。猜测会�
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
505872951690418.zip (20个子文件)
mobile_comment_data_collection_and_analysis_crawler
src
.ipynb_checkpoints
Taobao_Spider-checkpoint.ipynb 11KB
JDComment_Processing-checkpoint.ipynb 347KB
Taobao_Spider.ipynb 11KB
picture
phoneComment.jpg 97KB
手机购买时段.png 47KB
Snipaste_2019-03-06_22-22-48.PNG 57KB
月消费与会员等级分析.png 93KB
phone.jpg 31KB
data
taobaoComment_data.csv 281KB
京东url采集.txt 4KB
JDComment_data.csv 5.7MB
front
simsunb.ttf 16.27MB
simsun.ttc 17.37MB
计163张宇组数据库报告.pdf 1.53MB
SpiderScript.py 4KB
README.md 1013B
计163张宇组数据库报告.docx 2.24MB
JDComment_Processing.ipynb 347KB
LICENSE 1KB
README.md 13KB
共 20 条
- 1
工具盒子
- 粉丝: 58
- 资源: 1313
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
前往页