在使用rvest包抓取新浪财经A股交易数据中我们介绍了rvest包的用法,然而rvest包只能抓取静态网页,而对诸如ajax异步加载的动态网页结构无能为力。在R语言中,爬取这类网页可以使用RSelenium包和Rwebdriver包。
RSelenium包和Rwebdriver包都是通过调用Selenium Server来模拟浏览器环境。其中,Selenium是一个用于网页测试的Java开源软件,它可以模拟浏览器的点击、滚动、滑动以及文字输入等操作。因为Selenium是Java程序,因此在使用RSelenium包和Rwebdriver包之前必须为计算机设置Java环境。以下是使用RSelenium包和Rwebdriver包的前期准备步骤:
一、RSelenium包和Rwebdriver包的下载安装
RSelenium包可以从CRAN直接下载安装,Rwebdriver包则需要从github上下载,代码如下(要先安装devtools包):
library(devtools)
install_github(repo= "Rwebdriver", username = "crubba")
二、Java环境的设置
理论上讲,调用Java程序安装JRE(Java Runtime Environment)即可,但本文推荐安装JDK(Java Development Kit),JDK中包含JRE模块,且网上找到的Java环境变量设置教程多针对JDK