用R爬虫+词频统计+数据可视化

这篇文章咱们将使用爬虫来进行简单静态页面爬取,而后进行文本分词,再进行可视化分析。主要用到如下三个包:html

  • rvest 爬取网页
  • jiebaR 用于分词,词频统计
  • wordcloud2 用于文本分词

若是没有安装以上几个包,使用命令:install.packages("...")来安装。node

1.首先咱们进行网页爬取web

我使用的是360浏览器,打开链接:  http://www.gov.cn/premier/2017-06/04/content_5199817.htm,右键选择审查元素,找到内容标签:浏览器

咱们写爬虫代码:函数

> library(rvest)
载入须要的程辑包:xml2
> library(xml2)
> url <- 'http://www.gov.cn/premier/2017-06/04/content_5199817.htm'
> web <- read_html(url,encoding="utf-8")
> position <- web %>% html_nodes("div.pages_content") %>% html_text()      ##%>%为管道函数,将左边的值赋给右边函数做为第一个参数的值。html_nodes()函数获取某网页内节点信息,html()函数获取标签内文本信息

  2.分词,统计词频编码

 咱们加载jiebaR包,再进行分词:url

> library(jiebaR)

> engine_s <- worker(stop_word="stopwords.txt") ##用notepad新建一个stopwords.txt文档存在R文档目录下,编码格式为utf-8(能够用getwd()函数查找当前目录)。初始化分词引擎并加载停用词。
> seg <- segment(position,engine_s)  ##分词

> f <- freq(seg)##统计词频
> head(f)##列出前六个

  3.可视化展现xml

咱们须要使用到wordcloud2包:htm

> library(wordcloud2)
> f2 <- f2[1:100,]  ##若是词比较多的状况下,咱们只选取最频繁的前100个进行分析
> wordcloud2(f2,size=0.8,shape='star')  ##用五角星绘制

  

4.自定义个性化展现blog

咱们想建立本身想要的形状,在百度搜索图片:

咱们利用上图做为底图绘制:

> path <- "c:/Users/zhilei/Documents/test4.jpg"
> wordcloud2(f2,size=0.5,figPath=path)

  

是否是很酸爽啊!那就动手试试吧小伙伴!

相关文章
相关标签/搜索