京东20W条数据统计清洗分析

.

Readme:

  • 针对京东商城20W条美的热水器评论数据进行统计清洗分析。
  • 分析出所有正面评论和负面评论。
  • 分词统计热词出现频率。
  • 分析出销售问题所在。
    在这里插入图片描述

开发环境:

在这里插入图片描述

本项目的文本情感分析使用的是基于情感字典的文本情感分析。
为了能够正确标注一段中文文本的情感。需要如下几个情感字典:
①停用词字典:用于过滤掉一段文本中的噪声词组。
②情感词字典:用于得到一段文本中带有情感色彩的词组及其评分。
③程度副词字典:代表情感词的强烈程度,相当于情感词的权重。
④否定词字典:用于判断其后情感词的意思究竟是好(正极性)还是坏(负极性),若情感词前有否定词,则情感得分-1。
情感字典以及评分通常由手工标注完成,而标注是一项费时又费力的活,因此这四个字典都是由网络搜集而来。

项目文本名称对应内容:{Huizong.csv :“所有评论信息”, meidj_jd.txt:“提取后的评论”,
meidi_jd_process_1.txt:“去重后的评论信息”, meidi_jd_neg.txt:“负面评论信息”, meidi_jd_pos.txt :“”正面评论信息”,stop_list:“停用词表”}

数据采集:

首先要进行数据采集
由于京东商品评论信息是由JS动态加载的。
直接抓取商品详情页的URL并不能获得商品评论的信息。
因此我需要先找到存放商品评论信息的文件。
这里我使用Chrome浏览器里的开发者工具进行查找。
捕获到的接口为:
在这里插入图片描述

2019年5月13日,更新了,需要加上referer。
headers = {
    'Referer': 'https://item.jd.com/2705974.html'}

发现根据更改page的值可以选择对应评论页。
先测试下:
请求一页并提取对应评论信息:
通过requests来测试,发现获取到的content内容:
开头为:‘fetchJSON_comment98vv1204’,结尾为: ’ ); ’
发现content内容不是完整的json格式,所以要把doc的前面25位和后两位去掉;
即:doc_true = json.loads(doc[26:-2])
在这里插入图片描述
然后循环提取comment 即可得到评论内容;把提取到的数据保存到mongodb中。

首先在mongodb中使用去重语句aggregate 来进行集合内去重。
再通过图形界面Navicat来操作Mongodb数据库,进行数据导出。
在这里插入图片描述
在这里插入图片描述
保存为csv后,使用pandas提取评论,并保存为meidi_jd.txt;
在这里插入图片描述

此时已经提取出了名为meidi_jd.txt的评论文件。
接下来要开始数据清洗工作,先进行数据去重。
我使用了pandas中的unique方法来进行去重,并保存为meidi_jd_process_1.txt;
在这里插入图片描述
在这里插入图片描述
可发现,经过unique去重后数据减少了6371条。

数据分词:

ROSTCM6是武汉大学沈阳教授研发编码的国内目前唯一的以辅助人文社会科学研究的大型免费社会计算平台。该软件可以实现微博分析、聊天分析、全网分析、网站分析、浏览分析、分词、词频统计、英文词频统计、流量分析、聚类分析等一系列文本分析。

在这里插入图片描述

通过ROSTCM6工具来提取出正面与负面评价(待分析的文件编码必须是ANSI)。
例:data=pd.read_csv(…) data.to_csv(r’xixi.txt’, encoding=‘ANSI’)
正面情感词:
在这里插入图片描述
负面情感词:
在这里插入图片描述

去除标签:
在这里插入图片描述
然后使用结巴分词进行简单分词。
在这里插入图片描述
先进行参数初始化,然后通过jieba.cut进行自定义分词函数;
通过“广播”形式分词,加快速度然后保存结果;
通过wordcloud库,生成简单词云图来查看正面情感。
在这里插入图片描述

查看负面情感词:

在这里插入图片描述

主题模型:

根据上面的简易词云图,并不能有效的分析出销售问题所在。
所以我开始对分词之后的文档建立主题模型。
在这里插入图片描述

LDA(Latent Dirichlet Allocation)是一种文档主题生成模型,也称为一个三层贝叶斯概率模型,包含词、主题和文档三层结构。
所谓生成模型,就是说,我们认为一篇文章的每个词都是通过“以一定概率选择了某个主题,并从这个主题中以一定概率选择某个词语”这样一个过程得到。
文档到主题服从多项式分布,主题到词服从多项式分布。
在这里插入图片描述

结果分析:

输出负面主题后:

在这里插入图片描述

通过上述分析可以看出在被判定为负面评论的关键词中,‘安装’的系数是最大的,其次主要就是‘商品本身’,可见在热水器销售的过程中,对用户评论有关键影响的主要是商品的安装服务和商品的质量,另外可以看出,‘客服’、‘物流’也是比较重要的;

输出正面主题后:
在这里插入图片描述

‘好’、‘不错’等类似的关键词反应了顾客对应商品还是比较满意的,另外师傅’、‘安装’
的系数还是比较大的,另外‘及时’、‘很快’也一定程度上反应了物流的快慢对于用户好的购物体验的影响。

我将输出出来的两种主题信息保存在到result_id.txt中。
提取相同的数据然后把对应的数进行相加,再使用matplotlib绘制出散点图

在这里插入图片描述

根据结果总体分析来看商品的售后安装和商品的质量是顾客最为关键的考察点。
虽然本例中情感分析、分词的准确率并不能百分百的正确预测,但也在一定程度上反应了具体由哪些因素主导了用户的购物体验及评论的好坏。

github完整链接: https://github.com/lixi5338619/jingdong_comment

爬虫(Web Crawler)是一种自动化程序,用于从互联网上收集信息。其主要功能是访问网页、提取数据并存储,以便后续分析或展示。爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL可以通过链接分析、站点地图、搜索引擎等方式获取。 请求网页: 爬虫使用HTTP或其他协议向目标URL发起请求,获取网页的HTML内容。这通常通过HTTP请求库实现,如Python中的Requests库。 解析内容: 爬虫对获取的HTML进行解析,提取有用的信息。常用的解析工具有正则表达式、XPath、Beautiful Soup等。这些工具帮助爬虫定位和提取目标数据,如文本、图片、链接等。 数据存储: 爬虫将提取的数据存储到数据库、文件或其他存储介质中,以备后续分析或展示。常用的存储形式包括关系型数据库、NoSQL数据库、JSON文件等。 遵守规则: 为避免对网站造成过大负担或触发反爬虫机制,爬虫需要遵守网站的robots.txt协议,限制访问频率和深度,并模拟人类访问行为,如设置User-Agent。 反爬虫应对: 由于爬虫的存在,一些网站采取了反爬虫措施,如验证码、IP封锁等。爬虫工程师需要设计相应的策略来应对这些挑战。 爬虫在各个领域都有广泛的应用,包括搜索引擎索引、数据挖掘、价格监测、新闻聚合等。然而,使用爬虫需要遵守法律和伦理规范,尊重网站的使用政策,并确保对被访问网站的服务器负责。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

考古学家lx(李玺)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值