ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

R语言爬虫与文本分析

2021-03-24 21:03:20  阅读:192  来源: 互联网

标签:短评 语言 wordcloud2 爬虫 html 词云 标签 文本


      语料爬取


  • 寻找链接

之前在《无问西东》豆瓣短评分析一文中已对豆瓣短评的url做了研究,此处不再赘述。《了不起的麦瑟尔夫人》短评url为:“https://movie.douban.com/subject/26813221/comments?start=0&limit=20&sort=new_score&status=P&percent_type=”,每页显示20条短评,通过改变start参数控制翻页。

  • 定位标签

使用Chrome开发者工具,发现短评的内容在<div class="comment">...</div>下的<p>...</p>标签中。

图片

  • 代码实现

R语言中,有两种进行数据获取的方式。一种是RCurl包+XML包,过程与python中的urllib与bs4相似,先读取网页代码再对html代码进行解析。另一种为rvest包,rvest包使用起来更方便快捷。这里,我们使用rvest包进行数据获取的工作。

图片

图片

read_html()函数负责读取网页,html_nodes()负责筛选出相应标签,html_text()负责抓出标签内文本。因为<div class="comment">...</div>标签是<p>...</p>的父标签,所以倒数3行可以写成如下更简单的模式:

变量comments_text就是短评的文本结果。观察文本结果,发现每条短评后面都有很多空格和\n,因此我们用gsub函数,去除文本中的\n与空格。注意,“[\n.* ]”中的“]”前面有一个空格。


可以看到,经过修改后,文本中的空格和末尾的\n没有了,文本的格式更加规整。

      关键词提取


jiebaR包可以进行分词、关键词提取等操作。jiebaR中,用的TF-IDF算法来得到关键字。首先通过paste()将字符串进行拼接,调用分词引擎的同时,自定义停用词和关键词个数。


图片

      词云绘制


分词后,用table()可以直接统计出每个词的频数,安频数从大到小排序,选取前100个词。之后,我们用wordcloud2包进行词云绘制。用wordcloud2绘制词云的方法在十九大讲话文本分析(R语言)中也有介绍,本次我们用自定义图片的方式设置词云形状,即设置figPath参数,注意,图片需要存放在wordcloud2中默认的文件夹下,否则应写完整的图片路径。下载wordcloud2包时,可以从github下载,方法如下:devtools::install_github("lchiffon/wordcloud2"),直接从cran下载的,自定义图片运行后无法出来词云效果,具体原因也不是很清楚

标签:短评,语言,wordcloud2,爬虫,html,词云,标签,文本
来源: https://blog.51cto.com/15127586/2670992

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有