动态网页抓取(使用RSelenium包和Rwebdriver包的前期准备步骤:Java环境)

优采云 发布时间: 2021-11-04 19:07

  动态网页抓取(使用RSelenium包和Rwebdriver包的前期准备步骤:Java环境)

  在使用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的。

  1、JDK下载(百度JDK可以下载)

  2、JDK安装(按照提示安装即可)

  3、环境变量设置(参考Java环境变量设置)

  Windows下需要设置3个环境变量,分别是JAVA_HOME、CLASSPATH和Path。具体步骤如下:

  (1)右击“计算机”,然后选择:属性-高级系统设置-环境变量;

  

  (2)新建一个JAVA_HOME变量,指向jdk安装目录。具体操作:点击System Variables下的New,

  

  然后在变量名中输入JAVA_HOME,在变量值中输入安装目录。比如我的JDK安装在C:\Program Files(x86)\Java\jdk1.8.0_144,

  

  (3)参考(2)新建环境变量CLASSPATH中的步骤,

  变量名类路径

  变量值.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

  注意值前面的两个符号。;

  (4)设置path环境变量,在系统变量下找到path变量,打开后添加在变量值的末尾;%JAVA_HOME%\bin,注意前面的;.

  

  (5)三个变量设置好后,打开cmd(命令提示符,在Windows中搜索cmd找到),输入javac,没有报错,说明安装成功。

  

  三、Selenium 及浏览器驱动下载及运行

  1、下载selenium,网址是

  2、下载浏览器驱动,

  Chrome 驱动程序:

  火狐驱动程序:

  下载时请注意浏览器的版本。如果使用Chrome浏览器,请参考selenium的chromedriver与chrome版本映射表(更新为v2.34).

  3、 打开cmd运行selenium和浏览器驱动。比如我用的是Chrome浏览器,所以在cmd中输入java-Dwebdriver.chrome.driver="E:\Selenium\chromedriver.exe"-jarE:\Selenium\selenium-server-standalone-3.8.1.jar

  注意如果selenium和驱动没有放在java默认目录下,这里需要引用绝对路径。

  如果出现以下情况,则操作成功(R语言调用RSelenium包和Rwebdriver包时,cmd不应关闭)。

  

  四、 至此所有的前期准备工作已经完成,可以使用RSelenium包和Rwebdriver包了。

  以RSelenium包为例:

<p>library(RSelenium)

#### 打开浏览器

remDr

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线