ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:2.94MB ,
资源ID:22575986      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/22575986.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(python抓取淘宝商品评论并分词分析文档格式.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

python抓取淘宝商品评论并分词分析文档格式.docx

1、第三个文件是差评词云图,主要看差到哪了。首先定义差评:评论中包含下列词汇的我们认为这条评价是差评 【太差,材料差各种问题出现问题质量差坑人很差不满意冒牌假的服务差毛病非常差废物垃圾破烂不值差评坏的坏了烂了无良骗子欺骗不达标出问题特差上当不能用报废残次,u差劲坑爹太黑不要买后悔有多差被坑】根据差评的评论可以先分词,再按词统计生成词云。如图所示我们有以下分析结果:1、 大家关注的要点是公里、续航、电池,大概就是电池不够、续航差,一班也就15、20、30公里2、 【作出评价】【15】【一个月】【好评】,这个词主要来源是说明差评的买家在首次多数是没有评价的,主要是追评,追评为差评3、 【坏了】【螺丝】

2、【质量】【客服】【售后】 为特征词,大概可以想象差评的主要原因。质量不好,某个东西容易坏、比如螺丝。售后也不咋地,客服很垃圾。等等第四个是剔除刷单买家评论、绝对好评客户后的其他评论生成的词云图,主要用来看客户大致评价首先定义疑似刷单评价,这个包含两方面一是当天评价又在10个小时内追评的(当然不包含差评),按照买家习惯。正常买家一般不会追评,追评的一般都都是过了些天发现有问题才来差评(除非商户给买家优惠或者是买家太无聊才会追好评,这个大家经常网购的清楚),何况当天就追评的那是少之又少,我们是秉承宁可错杀1000也不放过一个原则,将能找到的刷单尽量找出来。二是从买家ID评论的次数来看。虽然淘宝隐藏

3、了买家ID中间的一些文字。但是我们还是可以从这买家ID来识别刷单。这种买家ID出现相同的概率还不是很大,而且在同一商品下出现相同的买家ID概率会更小,但是不排除这种可能。所以我们可以定义同一买家ID出现超过4次的认为该买家ID存在刷单行为。至于为什么是4这个是我通过几家店铺的的评论数据百分比得出的(而且有句老话就是是不过三),当然你也可以设为5,甚至6、7、8。按买家ID评论统计如下,同一个买家ID评论数多大36次,很显然认为是刷单专业户。如下图有意思t*0,t*1,t*2,t*3t*8,t*9,这0到9都到齐了,不是刷单才怪了。比较账号多了不好记,这样取名符合刷单特征。极端情况我们甚至可以把

4、以数字结尾,字母开头的非差评买家定义为刷单,这里没有,但是如果这样定义后的仍然有几百条买家评论存在也是可以的。接着定义绝对好评,绝对好评就是首次评论中使用非常绝对的好评词汇。例如:很好非常好完美很棒很满意很实用u很喜欢很耐心很不错很拉风很负责非常棒十分满意非常满意满分很赞非常实惠很耐用】。作为首次评论用这样绝对的词汇是很有可能是刷单买家评论。接着来分析剔除刷单买家评论、绝对好评客户后的词云图:1、 评论关注的还是公里数、续航能力2、 找到好评词汇【很快】【方便】【好评】【速度】【折叠】【喜欢】,优点词汇很少3、 找到差评词汇【坏了】【螺丝】【刹车】【差评】4、 好评都是没有从质量出发的,差评都

5、是质量问题5、 从这里无法确定买还是不买第五个文档是生成的评价word文档,是分析的结果文档,包含各种分析结果。将前面的各个图表都输入到word文档上。里面有一个非常重要的指标项可以用来判断买还是不买就是 重复评论(刷单)用户占比 、扣除刷单后差评率 、绝对好评率三项指标。在重复评论(刷单)用户占比24.55%、绝对好评为37.32%的情况下,差评率仍然高达14.86显然不值得买。 这里写的算法都是对单个商品就行分析的,没有对商品群分析,所以结果不是完美。比如从商品群的评价库提取常用的评价词汇和语句,就行更细的评价分类,和重点的分词词汇,这样词云图的结果会更明显。再比如刷单买家的识别,如果我们

6、有很多商品的话就可以通过买家的购买频率识别是不是刷单买家了,下面是三家电动滑板车的刷单买家统计:商品1、商品2、商品3、看了这几副图后,是不是感觉刷单的还是那几个人啊。哈哈,废话不说了,直接贴上分析代码# coding=utf-8import osimport urllib2import jiebafrom random import randintimport pandas as pdimport timeimport jsonimport mathimport typesimport matplotlib.pyplot as pltfrom wordcloud import WordClo

7、udimport numpyfrom docx import Documentfrom docx.shared import Inches#import sys#reload(sys)#sys.setdefaultencoding(utf-8)#差评定义词汇mywords=u,#绝对好评goodwords=udefgetItemId(url):uid=urlurl.find(id=)+3:url.find()+18if uid.find(&)0:itemid=uid0:uid.find()else :itemid=uidreturn itemiddefgetRedf(url): #将list数

8、据转换relist= # print urltry :content=json.loads(urllib2.urlopen(url).read().replace(rateDetail:).replace(/b),gbk) #gb18030比gbk含更多字符except :print url,json解析错误return pd.DataFrame(),99if content.has_key(urateList):hasprice=contentu0uattributesMap.has_key(t_payTimefor i in xrange(len(contentu):if type(con

9、tentiappendComment) is types.DictType:if hasprice=True:relist.append(contentudisplayUserNick,contenturateContentrateDate ,contentuiut_detailPricet_buyAmountucommentTimecontent)gmtCreateTime,0,1 ) ,numpy.nan)else:,0,1 ,ureturn pd.DataFrame(relist),contentpaginatorlastPage #最大页数time.sleep(5)print 等待5毫

10、秒:# ,urlreturn getRedf(url)defgetDeatail(itemid=534388747823baseurl=url=baseurl.format(itemid,randint(100000000,700000000),1)mydf,pages=getRedf(url) #mydf=pd.concat(mydf,first) #pages=totals/20+1;p=2while (p1 and seg not in stopwords.keys():afterseg.append(tp,seg)userwords=pd.DataFrame(afterseg)user

11、words.columns=wordsreturn userwordsdefwcfigure(wordsdf,path=rtest.jpg,mytitle=#画云图图,传入dataframe,保存文件路径和名字 wdcounts.head(2000).itertuples(index=False)wordcloud = WordCloud(font_path=c:windowsfontsSTCAIYUN.TTF,background_color=white,margin=5, width=1800, height=1000)#必须要加载文字体不然中文乱码 #print segStat.head

12、(100).itertuples(index=False)wordcloud = wordcloud.fit_words(wordsdf.itertuples(index=False)plt.figure(num=None,figsize=(25, 16), dpi=8,facecolor=w, edgecolor=kplt.imshow(wordcloud)plt.axis(off#plt.title(mytitle)plt.savefig(path)plt.show()plt.close()defrefind(x,y):if x15000 or x20:return Falsereturn

13、 ydeffindBad(words):flag=False#print type(words)#if isNan()words=words.decode(for x in mywords:#x=x.encode(if x in words:flag=Truebreakreturn flag deffindBest(words):for x in goodwords:#url=url=itemid=getItemId(url)if os.path.exists(itemid): #当前路径shous=os.getcwd() 查找是否曾经抓取数据mydata=pd.read_csv(itemid

14、)mydata=getDeatail(itemid)mydata.to_csv(itemid,encoding=,index=False)mydatapaytime=mydata.apply(lambda x:time.strftime(%Y-%m-%d %H:%M:%S,time.localtime(x/1000)hours.str11:13price/mydatadel mydata,mydatadates.str0:10groupby_date=mydata.groupby(by=u)u.agg(u总评论数numpy.size,u追评数count)mydata=mydata.fillna(badcontents.apply(findBad) | mydata.apply(findBad)best.apply(findBest) | mydata.apply(findBest)=pd.to_datetime(mydata)difftime=(mydata-mydata).apply(lambda x:pd.isnull(x) and 200 or x.total_seconds() #追评相差天数wordsnum=(mydata.str.len().fillna(0)+mydata

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1