动态网页抓取(R语言RSelenium包爬取动态网页爬取准备(环境配置)-连载 )
优采云 发布时间: 2021-12-06 06:00动态网页抓取(R语言RSelenium包爬取动态网页爬取准备(环境配置)-连载
)
最近因为需要爬取动态网页,但是对python不熟悉,研究了R做动态网页爬取。综上所述,主要难点在于环境的配置,因为关于R的信息比较少,所以不是很方便。
对于一般的静态网页,我们可以使用rvest进行抓取,但是对于这种动态网页,使用rvest只能抓取一片空白。
动态页面和静态页面的主要区别在于刷新数据时使用了ajax技术。刷新时从数据库中查询数据,重新渲染到前端页面。数据存储在网络包中,无法通过抓取HTML获取数据。
Crawler 抓取静态和动态网页
首先我尝试了Rwebdriver包,参考:
但是无论包怎么安装(devtools,本地加载),都不能成功。然后查了一下原因,看到这个包是2015年到2016年的,此后一直没有更新;使用这个包的相关文章也集中在17年左右。个人猜测是因为很久没有更新了,与现有的R版本不兼容(本文R版本为3.6.2 (2019-12-12)). 配置很长一段时间,最后无奈放弃。
之后,我又开始在R上寻找爬虫,发现
无头浏览器方法。元子:R爬虫动态网站Rseleium包 Rcrawler包(自动下载网页,但是时间太长,所以放弃了)
最后看一下,兼顾方便和效率,选择Rseleium进行爬取。
几个参考资料:
windows下配置RSelenium和Selenium环境
selenium服务器运行时报错---“端口被占用”,windows平台如何查看端口占用情况
说一下安装过程。其实主要是设置安装环境。
1、首先建议下载firefox浏览器,下载最新版本。
2、firefox 浏览器安装后,需要将其安装路径添加到系统环境变量中。
参考:R语言RSelenium包爬取动态网页数据前期准备(环境配置)-连载NO.01_人工智能_STAY HUNGRY STAY FOOLISH-CSDNblog
windows系统中如何设置和添加环境变量-百度经验
3、java环境配置。注:我的电脑好像有自己的java jdk,你可以看看你的电脑有没有
参考:R语言RSelenium包爬取动态网页数据前期准备(环境配置)-连载NO.01_人工智能_STAY HUNGRY STAY FOOLISH-CSDNblog
4、seleium 配置
去seleium官网(下载)或者找镜像下载,然后选择最新版本的selenium-server-standalone-3.141.59.jar。下载并保存到您的计算机。建议保存到C盘,自己创建一个文件夹(我的是C:Seleium)
只需要最新的3.141.59.jar。没有其他需要
5、运行硒。这一步搞了很久,因为win 10的cmd命令行老是报错,如下:
C:Seleium>java -jar selenium-server-standalone-3.141.59.jar
后来想通了,可能有两个原因,一是cmd没有在管理员模式下运行(记得在cmd后右键选择管理员模式运行!!)
还有一个路径问题,路径要设置为C:Seleium!!!
设置方法:使用“CD /DC:Seleium”,然后使用java -jar selenium-server-standalone-3.141.59.jar 来运行我们的seleium(类似插件-在 )。
设置CMD默认路径-穆良文王-博客园
最后,你可以看到seleium成功了。
还有一种方法:在save文件夹下,按住shift,右击,出现了,在这里打开pewershell窗口(有些人没有这个选项,百度的解决办法)。同样的方式运行java插件,应该可以看到成功了。国民服役
有些人会出现4444端口繁忙,请参考:
selenium服务器运行时报错---“端口被占用”,windows平台如何查看端口占用情况
6、R配置和爬取程序
股票、基金、期货、美股、港股、外汇、黄金、债券市场体系
<p># install.packages("Rseleium")
library(RCurl)# 抓取数据
library(XML)# 解析网页
librar(rvest)
library(RSelenium)
url_gp