R从网页抓取到文本分析全教程:影评的获取与分析
优采云 发布时间: 2022-05-05 17:18R从网页抓取到文本分析全教程:影评的获取与分析
本期目录
01
网页抓取
02
中文分词
03
文档矩阵
04
词频共现
05
文本聚类
06
主题建模
07
情感分析
08
词频统计
09
绘制词云
输
随着技术进步,定量分析方法,不再仅仅通过问卷、二手数据库等方式收集数据,不再仅仅通过数理统计、回归分析等手段分析数据。针对不同的研究需要,越来越多的新方法、新工具产生出来:
例如,以元胞自动机为代表的生命体建模技术、以马尔可夫链蒙特卡罗(MCMC)算法为代表的计算机仿真模拟技术等等。
本期介绍使用爬虫技术抓取网页,及对获取的网页文本数据做后续分析的实战案例。我将以网友对《流浪地球》豆瓣影评文本的获取与分析全过程,作为演示案例。
文本挖掘的本质是,通过自然语言处理(Natural Language Processing,NLP)和分析方法,将文本转化为数据进行分析。因此,阅读本文,需要一定的知识基础,包括网页设计、自然语言处理方法,我会在文中适当补充。
➡ 1.准备工作
分析工作之前,需要为软件配置工作环境,包括设置工作目录、调用需要的程序包等等。采集到的文本数据、各类词典、输出结果等等都会保存在工作目录中;外部程序包在首次使用前需要安装。
### 准备工作# 设置工作目录setwd('D:/The Wandering Earth')# 加载所需程序包library('rvest')library('stringr')library('jiebaRD')library('jiebaR')library('plyr')library('rJava')library('tm')library('tmcn')library('proxy')library('topicmodels')library('sqldf')library('wordcloud2')
➡ 2.网页抓取
我依然按照定量分析的传统套路,将分析全过程分为数据收集与数据分析两部分。第一步,即通过爬虫技术抓取网页。
网络爬虫(webcrawler),也称网络蜘蛛(spider),是一种用自动浏览万维网的网络机器人。其目的一般为编纂网络索引。爬虫访问网站的过程会消耗目标系统资源,不少网络系统并不默许爬虫工作。因此在访问大量页面时,爬虫需要考虑到规划、负载,还需要讲“礼貌”。不愿意被爬虫访问、被爬虫主人知晓的公开站点可以使用robots.txt文件等方法避免访问。
例如,豆瓣电影()的robots.txt规定如下:
User-agent: *Disallow: /subject_searchDisallow: /amazon_searchDisallow: /searchDisallow: /group/searchDisallow: /event/searchDisallow: /celebrities/searchDisallow: /location/drama/searchDisallow: /forum/Disallow: /new_subjectDisallow: /service/iframeDisallow: /j/Disallow: /link2/Disallow: /recommend/Disallow: /doubanapp/cardDisallow: /update/topic/Sitemap: https://www.douban.com/sitemap_index.xmlSitemap: https://www.douban.com/sitemap_updated_index.xml# Crawl-delay: 5<br />User-agent: Wandoujia SpiderDisallow: /
在实际应用中,网络爬虫技术没有特别复杂。许多情况下,我们往往指定网站及抓取内容,更倾向于网页采集而非网络爬虫。在此之前,我希望读者了解网页源代码的有关知识,特别是标记语言(HTML,只有语法,没有变量和逻辑)、层叠样式表(CSS,用于控制元素的展现形式)、脚本语言(JavaScript,操作HTML中元素的增删改)在网页设计中的作用。
另外,当网页出现较复杂的展现形式时,例如,网址分页、超链接、异步加载等等,需要读者具备更多的理论知识。 <p>### 网页采集# 观察网址规律index