R语言RSelenium包爬取动态网页数据前期准备(环境配置)-连载NO.01

生而为人,学无止境。

 

作为爬虫爱好者,最开始的时候多少都会遇到爬取的时候返回各种bug,抓头挠耳吧;

R语言爬虫的包基础的就是rvest和RCurl,解析的就是xml包,当然你还得有html、css、http协议;

但基本的包仅对于静态网页的爬取比较有效,而对于动态网页(渲染网页)就没用了;

接下来写一下R语言里面对于动态网页爬取(AJAX异步渲染/加载网页)的前期环境配置/搭建(模拟浏览器操作)。这里讲的是Rselenium的,至于Rwebdriver包的话类似,但现在它的包不好下载。

1、基于Rselenium包的环境搭建

install.packages("RSelenium")
library(RSelenium)
#浏览器控制函数
remdr <- remoteDriver(browserName ="firefox")

# 打开浏览器,运行这你会很惊喜
remdr$open()

若你直接下载Rselenium并加载,然后打开浏览器的话就会立马报错:

R语言RSelenium包爬取动态网页数据前期准备(环境配置)-连载NO.01_第1张图片

当然这肯定是错误的做法,但同时你也可以看到它的一点提示:Unable to create new service: GeckoDriverService

GeckoDriver是firefox浏览器的驱动,忘了说,这里是以firefox浏览器为例哦,支持的其他浏览器如chrome类似。

你需要去下载firefox的这个驱动文件,然后放到你安装firefox的目录下。

2、firefox浏览器安装后需要将其安装路径加到系统环境变量中去,记得要把GeckoDriver放到你的浏览器安装目录下。

R语言RSelenium包爬取动态网页数据前期准备(环境配置)-连载NO.01_第2张图片

3、java环境配置,下载java https://www.java.com/en/download/manual.jsp

下载后配置环境,系统环境中3个变量

3.1  java_home添加,值为E:\java\jdk-11.0.1  这个就是你放的路径了;

3.2  classpath添加,值为%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

3.3  path中添加%JAVA_HOME%\bin

3.4  配置完成后在系统命令中测试,win+r cmd 打开,输入javac,返回未报错即配置成功。

R语言RSelenium包爬取动态网页数据前期准备(环境配置)-连载NO.01_第3张图片

4、selenium环境配置,先下载selenium,下载新版的为好 

    接下来就是运行它了哈,在命令窗口输入java -jar selenium-server-standalone-3.141.59.jar,注意前面的路径是你selenium所在的路径哦,但是这样很可能会出现下面的错误,这里也给了反馈,下面画红线的部分解决即可。

此处需要将占用4444端口的进程给结束掉,如何去找?win+r中输入netstat -ano所有连接的pid,这个pid所对应的进程需要去任务管理中找到,在详细信息栏中。

R语言RSelenium包爬取动态网页数据前期准备(环境配置)-连载NO.01_第4张图片

完成后再次在命令窗口测试,显示如下即运行正常

 R语言RSelenium包爬取动态网页数据前期准备(环境配置)-连载NO.01_第5张图片

5、 在R(Rstudio)中测试并运行

运行正常,完美,以后不用愁怎么爬取渲染的网页了吧,但是有一点,R的爬虫未尝试过大量的数据爬取,相对来说用python还是要好很多。

R语言RSelenium包爬取动态网页数据前期准备(环境配置)-连载NO.01_第6张图片

想知道下面代码运行后什么效果吗?赶紧试试吧

 

你可能感兴趣的:(R语言爬虫)