动态网页抓取(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

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线