抓取动态网页(R语言爬取动态网页增加我自己爬取的爬取实例!)

优采云 发布时间: 2021-12-08 16:23

  抓取动态网页(R语言爬取动态网页增加我自己爬取的爬取实例!)

  其实我早就想给B站写个专栏了,草稿箱里还有几篇写了一半的读书报告,没想到我写的第一篇专栏是关于编程的2333333。

  也是偶然有朋友问我能不能帮忙爬取数据,但是我没有爬取动态网页的数据,所以按照网上的教程整理了一下,然后加上了自己爬取的例子.

  

  一、R语言爬取动态网页的前期准备

  R语言爬取动态网页所需的包可以使用“RSelenium”或“Rwebdriver”,两者都可以通过调用Selenium Server模拟浏览器环境进行操作。

  Selenium 是一个用于网页测试的Java 开源软件,它可以模拟浏览器的点击、滚动、滑动和文本输入操作[1]。

  因为RSelenium可以直接在CRAN上下载安装(Rwebdriver包需要从gethub下载安装,比较麻烦),所以我使用RSelenium包进行动态网页爬取。

  install.packages("RSelenium") #安装RSelenium包

  library(RSelenium) #加载RSelenium包

  但是加载完RSelenium包后不能直接使用,需要添加相应的辅助条件:

  1.1 JAVA安装及环境配置

  目前网上大部分教程都推荐安装JDK(Java Development Kit),但其实安装JRE(Java Runtime Environment)就足够了。因为我自己的电脑上有现成的。

  JAVA的安装可以到其官方网站下载:

  下载完成后,按照默认安装一步一步来!!!!

  环境变量配置:

  网上很多教程教你如何配置环境变量,但是我在window10上下载安装JAVA后,实际测试不需要配置环境变量。

  可以在命令提示符下打开运行窗口【win+R,输入cmd,点击确定】界面,输入以下命令:

  如果上述命令有正常响应,而不是提示命令不存在或报错,则说明安装JAVA,无需配置以下环境变量。如果还是不行,请按照以下要求配置环境变量:

  配置环境变量JAVA_HOME,【就是你安装JAVA的地址】

  

  配置环境变量JAVA_HOME

  配置环境变量PATH,【一般电脑上已经有PATH的环境变量了,加进去就行了】

  其实就是连接到JAVA的二进制文件目录

  网上有很多教程,添加的环境变量如下:

  %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

  分号代表新建目录,但其实没有必要,因为没有jre文件夹,可能是安装JDK导致的问题

  

  PATH环境变量配置

  配置环境变量 CLASS_PATH

  变量值。;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

  

  CLASS_PATH 环境变量配置

  三个变量设置好后,打开cmd(命令提示符,在Windows中搜索cmd找到),输入javac,如果没有报错,则安装成功。

  1.2 安装 Selenium

  硒下载地址:

  输入网址后看到的界面是这样的:

  

  selenium首页截图2020.02.19

  只需下载最新版本的 Selenium。

  当前最新版本下载名称为:selenium-server-standalone-3.141.59.jar

  然后使用命令提示符【win+R打开运行窗口,输入cmd,点击确定】,输入selenium的存放路径,输入如下命令:

  java -jar selenium-server-standalone-3.141.59.jar

  启动硒服务

  

  出现:Selenium Server is up and running on port XXXX 表示运行成功。

  默认端口为 4444。

  如果出现错误,可能是你的4444端口处于占用状态

  运行以下程序时请保持selenium运行【即不要关闭此窗口】,否则以下R程序将无法正常运行

  1.3 安装浏览器和驱动组件

  我在这里推荐 Firefox,但也可以使用 Chrome。[RSelenium 支持 5 种浏览器:chrome、firefox、htmlunit、internetexplorer、iphone]。主要原因是Chrome在中国不容易安装。无法登录其官网下载Chrome浏览器。【但是我在企鹅电脑管家的软件管理中发现了Chrome浏览器的安装。我没试过,各位。看看能不能试试~】

  安装火狐浏览器后,需要安装 GeckoDriver 来驱动火狐浏览器。

  下载地址为:

  然后请将下载的文件安装在火狐浏览器的安装路径下

  Firefox 的默认安装路径为:C:\Program Files\Mozilla Firefox

  环境变量的配置是下图中倒数第二个变量

  

  配置PATH环境变量

  如果以上所有操作都完成了,我们就可以愉快的运行和编写R语言程序了。

  

  二、R语言爬取动态网页的例子

  我们要抓取的是腾讯公益网站的网页。我们抓取的是项目状态结束的项目信息。

  

  腾讯公益专页

  对应的代码如下:

  【因为B博客不能插入代码块,所以我来插入图片】

  说明因为是第一版写的程序,后来发现一个问题,就是腾讯公益的完成项目虽然显示有1448页,但实际上进入第100页时,所有的内容都是与第 100 页相同。页面都是一样的,因为我只是来学习动态网页的爬取方法,所以成功后没有修改代码~~~~~~

  因此,下面的代码只能抓取1-100页的基本信息。

  

  抓取腾讯公益网页的代码

  爬取完成后的数据存放在outdata数据框中:

  示例结果

  

  结果示例(executor的数据也做了相应的混淆处理)

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线