现在大家对爬虫的兴趣不断高涨,R和PYTHON是两个非常有力的爬虫工具。Python倾向于做大型爬虫,与R相比,语法相对复杂,因此Python爬虫的学习曲线会相对陡峭。对于那些时间宝贵,又想从网上获取数据的初学者而言,用R做爬虫是最好的选择,有三个原因:R语法相对直观,规则更加灵活;对于数据量不大的用户来数(小于百万级),R也能够非常自如地处理;先学习R爬虫,等熟悉爬虫的原理之后,在过渡到Python是很容易的。R中有好几个包都可以抓取网页数据,但是rvest + CSS Selector最方便。
![](https://img2022.cnblogs.com/blog/2835440/202205/2835440-20220516173539093-1661678086.png)
一、rvest包简介与安装
rvest包是hadley大神的又一力作,使用它能更方便地提取网页上的信息,包括文本、数字、表格等,本文对rvest包的运用做一个详细介绍,希望能够帮助你在网页抓取的武器库中新添一把利器。
1.rvest包的安装与加载
install.packages("rvest")
library(rvest)
2.rvest包的函数
函数
作用
read_html()
读取 html 页面
html_nodes()
提取所有符合条件的节点
html_node()
返回一个变量长度相等的list,相当于对html_nodes()取[[1]]操作
html_table()
获取 table 标签中的表格,默认参数trim=T,设置header=T可以包含表头,返回数据框
html_text()
提取标签包含的文本,令参数trim=T,可以去除首尾的空格
html_attrs(nodes)
提取指定节点所有属性及其对应的属性值,返回list
html_attr(nodes,attr)
提取节点某个属性的属性值
html_children()
提取某个节点的孩子节点
html_session()
创建会话
二、rvest包应用示例
1. 网页标题的爬取
新浪NBA
R语言代码
library(pacman)
p_load(xml2,rvest,dplyr,stringr,tidyverse)
urlb |