1、rvest介绍
网络爬虫是讲呈现在网页上以非结构格式(html)存储的数据转化为结构化数据的技术,该技术非常简单易用。
rvest是R用户使用率最多的爬虫包,它简洁的语法可以解决大部分的爬虫问题。
基本使用方法:
使用read_html读取网页;
通过CSS或Xpath获取所需要的节点并使用html_nodes读取节点内容;
结合stringr包对数据进行清理。
与Python的比较:
Python倾向于做大型爬虫,与R相比,语法相对复杂,因此Python爬虫的学习曲线会相对陡峭。
对于那些时间宝贵,又想从网上获取数据的初学者而言,用R做爬虫是最好的选择:
R语法相对直观,规则更加灵活;
对于数据量不大的用户来数(小于百万级),R也能够非常自如地处理;
先学习R爬虫,等熟悉爬虫的原理之后,在过渡到Python是很容易的。
rvest的项目主页:https://cran.r-project.org/web/packages/rvest/index.html
2、API介绍
读取与提取:
read_html( ) 读取html文档的函数
html_nodes( ) 选择提取文档中指定元素的部分
html_name( ) 提取标签名称;
html_text( ) 提取标签内的文本;
html_attr( ) 提取指定属性的内容;
html_attrs( ) 提取所有的属性名称及其内容;
html_table( ) 解析网页数据表的数据到R的数据框中;
html_form( ) 提取表单。
乱码处理:
guess_encoding( ) 用来探测文档的编码,方便我们在读入html文档时设置正确的编码格式
repair_encoding( ) 用来修复html文档读入后的乱码问题
行为模拟:
set_values( ) 修改表单
submit_form( ) 提交表单
html_se