R语言动态网页数据爬取用法连载NO.02
selenium是一个开源的软件套件。selenium通过浏览器控制与网页进行交互,这样我们可以操作实时DOM树(浏览器窗口中视觉显示的方式)。
selenium可以控制浏览器实现文本输入、点击、滚动、滑动的操作。
可进行身份验证哦
使用selenium之前需要初始化selenium java server,server负责浏览器的启动与关闭。
使用Rselenium/Rwebdriver模拟浏览器操作抓取数据:
在Rstudio中通过selenium api打开一个新的firefox窗口:
Rselenium包下打开firefox
remDr <- remoteDriver(browserName ="firefox")
system("java -jar \"D:/selenium-server-standalone-3.141.59.jar\"",wait = FALSE)
remDr$open()
Rwebdriver包下打开firefox
关于Rwebdriver下载失败或者无法下载的问题,这里给出解决方案为:
首先你需要下载Rtools工具并安装,其次下载包不用install.packages,而是install_github,直接从github下载所需包,下载这个作者的install_github("crubba/Rwebdriver"),即可完美解决
library(Rwebdriver)
#打开浏览器之前先要启动selenium server
system("java -jar \"E:/selenium-server-standalone-3.141.59.jar\"",wait = FALSE)
#root为selenium java server的地址(默认地址如下),把firefox传递给参数browser是告诉服务器生成一个firefox浏览器窗口
start_session(root="http://localhost:4444/wd/hub/",browser="firefox")
Rwebdriver中相关常用函数说明(更新中):
Rwebdriver包中 | |||
star_session | 创建浏览器会话 | page_forward | 向前翻一个页面 |
quit_session | 关闭会话,退出浏览器 |