抓取网页数据(【数据获取】爬虫利器Rvest包(JS渲染页面))

优采云 发布时间: 2022-03-08 10:07

  抓取网页数据(【数据获取】爬虫利器Rvest包(JS渲染页面))

  本文所有内容均基于 Windows。

  前言

  对于R进行静态页面爬取,rvest、RCurl、XML包都可以实现这个功能。这里推荐两个文哥写的文档,介绍如何爬取静态页面数据。我也是通过这两篇文章开始接触R爬虫的文章。

  传送门:【数据采集】爬虫工具Rvest包【数据采集】爬虫基础Rcurl和XML包

  几天前,我遇到了一个需要抓取动态页面(JS 渲染页面)的问题。通过网络采集知识,不断整理,终于初步解决了问题。由于相关的中文资料不多,所以写了这个文章与大家分享。

  要解决爬取动态页面的问题,需要一个比较强大的R包——RSelenium。

  RSelenium 简介

  RSelenium 使用 R 调用 Selenium Server。

  什么是 Selenium 服务器?

  Selenium Server 是一个独立的 JAVA 程序,允许您在不同的浏览器上打开 URL、操作网页和抓取网页元素。

  所以,我们可以通过 Selenium Server 对网页进行操作,然后对操作后的数据进行爬取,从而对动态页面进行爬取。

  Selenium 服务器安装

  下载列表:

  JAVA JDK 1.8(门户)。 Selenium Server 是一个需要 JAVA 环境的 JAVA 程序。 Selenium 服务器独立 3.0.1(门户)。 Selenium 服务器的 JAVA 文件。铬(门户)。 ChromeDriver(需要爬墙门户)(无爬墙门户)。 Selenium Server 调用 Chrome 的驱动程序。

  安装过程:

  首先,安装JAVA JDK 1.8.

  然后,安装 Chrome(最新版本)。

  之后,将解压后的ChromeDriver.exe(最新版)放入Chrome安装路径。它必须放在与 chrome.exe 相同的目录中。例如:

  

  chrome.exe和chromedriver.exe都在C:\Program Files(x86)\Google\Chrome\Application目录。(一般Chrome的默认安装路径在这里)

  最后将这个路径C:\Program Files(x86)\Google\Chrome\Application添加到环境变量PATH的路径中。具体添加过程请参考这里(传送门)。

  基本配置,大功告成!

  RSelenium 用法和示例

  通过示例详细了解 RSelenium 的使用。

  目标:爬取网贷之家数据平台( )中各P2P平台近7天的投资人数量、人均投资金额、平均收益率和交易量。下图中红框的内容。

  

  流程:

  启动 Selenium 服务器。在 selenium-server-standalone-3.0.1.jar 文件所在的位置,使用 shift+鼠标右键选择“Open command line here”。在命令行运行以下代码启动 Selenium Server。

  java -jar selenium-server-standalone-3.0.1.jar

  运行后,最小化,不要关闭。通过R调用Selenium Server并打开网页,点击页面,选择对应的条件。通过 RSelenium 与 rvest 一起抓取数据。这个过程通过阅读Rcode一步一步来解释。

<p>################调用R包#########################################

library(rvest) # 为了read_html函数

library(RSelenium) # 为了使用JavaScript进行网页抓取

###############连接Server并打开浏览器############################

remDr

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线