R语言汽车口碑数据采集抓取、文本数据分词和词云可视化实现

本文以R语言为工具,帮助客户对汽车网站的口碑数据进行抓取,并基于文本数据分词技术进行数据清理和统计。

由Kaizong Ye,Sherry Deng撰写

通过词频统计和词云可视化,对口碑中的关键词进行分析,挖掘出消费者对汽车的评价和需求,为汽车制造商和销售商提供重要的市场参考。

在当今竞争激烈的汽车市场中,消费者在购买汽车时越来越依赖于网络上的口碑信息。汽车口碑不仅反映了消费者对汽车产品的实际使用体验、满意度,还能体现出汽车品牌在市场中的形象和竞争力。对于汽车制造商来说,了解消费者的口碑反馈可以帮助他们改进产品质量、优化营销策略;对于潜在消费者而言,参考汽车口碑能够辅助他们做出更明智的购车决策。

随着互联网技术的飞速发展,大量的汽车口碑数据以文本形式存在于各大汽车论坛、社交媒体、电商平台等网络空间中。然而,这些数据往往数量庞大、格式多样且分散,要从中提取有价值的信息并非易事。因此,需要借助有效的工具和方法对这些文本数据进行采集、处理和分析。


随着社会经济的不断发展,汽车已经成为人们日常生活中不可或缺的交通工具。汽车口碑对于消费者购车决策起着至关重要的作用,同时也是汽车制造商和销售商了解市场需求、改进产品质量和服务的重要依据。


可下载资源


本文分析的数据、代码、报告分享至会员群


作者

传统的汽车口碑调查方式往往需要耗费大量的人力物力,而网络上的汽车口碑数据正逐渐成为研究汽车市场和消费者需求的重要数据来源。

然而,如何高效地获取和分析这些数据变得越来越重要。因此,本文利用R语言的数据抓取和文本数据分词技术,对汽车网站的口碑数据进行抓取和分析,旨在为汽车行业提供更准确、更快速的市场研究手段。

本文主要实现以下两个目标:

  • 基于R语言的数据抓取部分。这一部分里面所有的结果都要实现
  • 基于R语言的文本数据分词

自适应网页宽度的 Bilibili 视频

视频

文本挖掘:主题模型(LDA)及R语言实现分析游记数据

探索见解

去bilibili观看

探索更多视频

在每一页评价内容的抓取中 , 依然使用 xpath SApply 函数,再输入特定的 XML 路径来抓取网页上的用户评价内容

library(RCurl)


 Also load the other required package.  
library("methods")  
xpath <- '//div[@class=\"co81\"]'  
  
url <-"www.chekb.com/suonata/koubei/"
image.png
pagetree <- htmlTreeParse(webpage, error=function(...){}, useInternalNodes = TRUE,encoding="UTF-8")  
   pagetree  
   value <- getNodeSet(pagetree,xpath)  
   
  i <- length(value)                     统计满足条件的值个数,一般情况为1

读入数据

将需要分析的文本放入记事本中,保存到相应路径,并在R中打开。


head(lecture)
image.png

数据清理

lecture$评价=gsub(pattern="[1|2|3|4|5|6|7|8|9|0]"," ",lecture$评价);        
lecture$评价=gsub(pattern="/"," ",lecture$评价);     
lecture$评价=gsub(pattern="!"," ",lecture$评价);
......

grepl 函数的 regexpr 函数、regmatches 函数,并结合正则表达式来匹配出“非灰色用户”的主页链接


grepl(pattern = "中国",x = lecture$网友)

分词+统计词频

word=lapply(X=words, FUN=strsplit, " ")  
v=table(unlist(word))
image.png

统计数据的频数

对词频进行排序table函数得到各词组的词频,最后运用 sort 函数让其按词频降序排列,生成文档词矩阵


NLP自然语言处理—主题模型LDA案例:挖掘人民网留言板文本数据

阅读文章


创建数据框

d=data.frame(词汇=names(v), 词频=v)  
d

image.png


随时关注您喜欢的主题


过滤掉1个字的结果和词频小于100的结果

筛选标准大家可以根据自己的需求进行修改

d1=subset(d, nchar(as.character(d$词汇))>1 & d$词频.Freq>=2) 

词频统计结果(节选)如下:

画出标签云

(2)设置字体类型和字体颜色

mycolors <- brewer.pal(12,"Paired")

(3)画出标签云


dcloud(d1$词汇,d1$词频.Freq,random.order=FALSE,random.color=TRUE,colors=mycolors,family="myFont")
QQ截图20231128144503.png


可下载资源

关于作者

Kaizong Ye拓端研究室(TRL)的研究员。在此对他对本文所作的贡献表示诚挚感谢,他在上海财经大学完成了统计学专业的硕士学位,专注人工智能领域。擅长Python.Matlab仿真、视觉处理、神经网络、数据分析。

本文借鉴了作者最近为《R语言数据分析挖掘必知必会 》课堂做的准备。

​非常感谢您阅读本文,如需帮助请联系我们!

 
QQ在线咨询
售前咨询热线
15121130882
售后咨询热线
0571-63341498