生而为人,学无止境。

作为爬虫爱好者,最开始的时候多少都会遇到爬取的时候返回各种bug,抓头挠耳吧;

R语言爬虫的包基础的就是rvest和RCurl,解析的就是xml包,当然你还得有html、css、http协议;

但基本的包仅对于静态网页的爬取比较有效,而对于动态网页(渲染网页)就没用了;

接下来写一下R语言里面对于动态网页爬取(AJAX异步渲染/加载网页)的前期环境配置/搭建(模拟浏览器操作)。这里讲的是Rselenium的,至于Rwebdriver包的话类似,但现在它的包不好下载。

1、基于Rselenium包的环境搭建

install.packages("RSelenium")
library(RSelenium)
#浏览器控制函数
remdr <- remoteDriver(browserName ="firefox")# 打开浏览器,运行这你会很惊喜
remdr$open()

若你直接下载Rselenium并加载,然后打开浏览器的话就会立马报错:

当然这肯定是错误的做法,但同时你也可以看到它的一点提示:Unable to create new service: GeckoDriverService

GeckoDriver是firefox浏览器的驱动,忘了说,这里是以firefox浏览器为例哦,支持的其他浏览器如chrome类似。

你需要去下载firefox的这个驱动文件,然后放到你安装firefox的目录下。

2、firefox浏览器安装后需要将其安装路径加到系统环境变量中去,记得要把GeckoDriver放到你的浏览器安装目录下。

3、java环境配置,下载java https://www.java.com/en/download/manual.jsp

下载后配置环境,系统环境中3个变量

3.1  java_home添加,值为E:\java\jdk-11.0.1  这个就是你放的路径了;

3.2  classpath添加,值为%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

3.3  path中添加%JAVA_HOME%\bin

3.4  配置完成后在系统命令中测试,win+r cmd 打开,输入javac,返回未报错即配置成功。

4、selenium环境配置,先下载selenium,下载新版的为好

接下来就是运行它了哈,在命令窗口输入java -jar selenium-server-standalone-3.141.59.jar,注意前面的路径是你selenium所在的路径哦,但是这样很可能会出现下面的错误,这里也给了反馈,下面画红线的部分解决即可。

此处需要将占用4444端口的进程给结束掉,如何去找?win+r中输入netstat -ano所有连接的pid,这个pid所对应的进程需要去任务管理中找到,在详细信息栏中。

完成后再次在命令窗口测试,显示如下即运行正常

5、 在R(Rstudio)中测试并运行

运行正常,完美,以后不用愁怎么爬取渲染的网页了吧,但是有一点,R的爬虫未尝试过大量的数据爬取,相对来说用python还是要好很多。

想知道下面代码运行后什么效果吗?赶紧试试吧

R语言RSelenium包爬取动态网页数据前期准备(环境配置)-连载NO.01相关推荐

  1. python爬取动态网页_python爬取动态网页数据,详解

    原理:动态网页,即用js代码实现动态加载数据,就是可以根据用户的行为,自动访问服务器请求数据,重点就是:请求数据,那么怎么用python获取这个数据了? 浏览器请求数据方式:浏览器向服务器的api(例 ...

  2. 爬取动态网页数据的软件-抓取动态网页数据的工具

    爬取动态网页数据,随着时代的进步,互联网的发展,不管是企业还是个人都知道了数据的重要性.今天给大家分享一款免费爬取动态网页数据的软件.只要点点鼠标就能轻松爬取到你想要的数据,不管是导出还是自动发布都支 ...

  3. Windows下利用python+selenium+firefox爬取动态网页数据(爬取东方财富网指数行情数据)

    由于之前用urlib和request发现只能获取静态网页数据,目前爬取动态网页有两种方法, (1)分析页面请求 (2)Selenium模拟浏览器行为(霸王硬上弓),本文讲的就是此方法 一.安装sele ...

  4. python如何爬取动态网页数据

    1.引言   说到爬网页,我们一般的操作是先查看源代码或者审查元素,找到信息所在节点,然后用 beautifulsoup/xpth/re 来获取数据,这是我们对付静态网页的常用手段.   但大家也知道 ...

  5. python动态页面元素爬取_爬取动态网页python+Web kit

    上一篇文章爬取动态网页python+selenium+webdriver介绍了爬取动态网站的一种模拟浏览器的方法,该方法的优劣也很明显 优: 可以模拟任何人的操作,输入账号密码,点击登录等等操作 劣: ...

  6. Python之网络爬虫(selenium爬取动态网页、爬虫案例分析、哈希算法与RSA加密)

    文章目录 一.selenium爬取动态网页 二.爬虫案例分析 三.哈希hash算法与RSA加密 一.selenium爬取动态网页 1.动态网页认知 爬虫其实就是在模仿浏览器的行为 应对要多次数据的交互 ...

  7. 【爬虫】Selenium爬取动态网页的base64图片

    文章简介 Selenium爬取动态网页的base64图片,并解决页面完整加载缓慢,base64字符串的获取和格式转码,一些页面不存在,部分照片无法加载等问题.后附源码. 目录 1,需求 2,环境和使用 ...

  8. python爬取动态网页图片

    爬取某知名网站图片(爬取动态网页) python爬取动态网页图片 python爬取动态网页图片 环境: python3.pycharm 库: requests.urllib.json 思路: 1.分析 ...

  9. python动态渲染抓取网页_爬取动态网页python+Web kit

    上一篇文章爬取动态网页python+selenium+webdriver介绍了爬取动态网站的一种模拟浏览器的方法,该方法的优劣也很明显 优: 可以模拟任何人的操作,输入账号密码,点击登录等等操作 劣: ...

最新文章

  1. C++中引用()的用法和举例说明
  2. Aix /etc/hosts.equiv 文件的用途及用法
  3. android 建数据库 SQLite 存储sd 卡或者内存
  4. Backbone Model——数据模型
  5. CentOS 7编译程序后的环境变量设置
  6. Spring Cloud 知识 思维导图
  7. java 封装(Encapsulation)
  8. JavaScript小技巧总结
  9. 一个IE动画图标的小例子
  10. 给你看一下真实的后浪...
  11. 蚂蚁如果上市成功,价格崩盘是必然的
  12. 2014程序化购买元年-芒果移动广告-王江
  13. 台式电脑怎么组装步骤_台式机组装教程,详细教您台式机怎么组装
  14. php urldecode 加号,php|urldecode urlencode 的加号问题
  15. CodeForces-1138A
  16. Google Earth Engine(GEE)农作物种植结构提取
  17. 什么是5G会话管理功能(SMF)
  18. fstream的使用详解
  19. 人工智能和新能源行业有哪些
  20. 物联网卡会锁卡吗_4G物联网监控摄像机为什么要用物联网卡?

热门文章

  1. 关于猫鼻支的防范和治疗
  2. PG distinct与distinct on
  3. 纯净ROM如何制作?手把手教你一键精简内置推广
  4. Unbuntu环境编译 Android平台可用ffmpeg(带三方库fdk-aac和lame)
  5. BPFT1.7,全名BaiduPanFilesTransfers免费的百度网盘批量转存工具【精】
  6. 记一次网络故障排除:nat虚拟机不能ping外网 浏览器可以上网
  7. Ansible自动化运维工具安装及使用
  8. 关于 Windows 10 如何扩展分区与合并分区
  9. 数据挖掘算法——常用分类算法总结
  10. mysql中文日期转换_mysql 日期转换