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

优采云 发布时间: 2022-02-13 23:11

  动态网页抓取(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数据框中:

  结果示例

  

  结果示例(其中的执行程序数据被相应地混淆)

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线