最近在用R做爬虫的时候遇到了部分网页无法爬取。于是转投Selenium的怀抱。本文就简要介绍利用mac 下的docker搭建Selenium环境,实现爬虫应用。
先简单介绍用的工具:
Selenium
也是一个用于Web应用程序测试的工具,Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。本文将采用Selenium Grid,它用于分布式自动化测试,就是一套Selenium 代码可在不同的环境上运行。Selenium Grid 有两个概念hub
:主节点,接受测试任务,并进行分配,只有一个主hub节点。node
:分支节点,不同的节点分支,接受hub任务,并进行测试,可以有多个。
RSelenium
通过调用Selenium Sever来模拟浏览器环境,实现爬虫任务。Docker
一般叫docker容器,一个可爱的鲸鱼,上面坨着集装箱,可以比喻为电脑集群。先来搞清楚它里面的几个概念。Docker镜像
,运行Docker容器的一个环境,打个比方镜像就像已经配置好的程序包或者源代码的光盘,用于将程勋安装在电脑上。Docker容器
,简单的说,容器是独立运行的一个或一组应用,以及它们的运行态环境。 如果把镜像看成面向对象中的 “类” 的话,那么容器就是“类”的实例化“ 对象”,打个比方:容器就像是已经安装好镜像的一台台电脑,但是容器一关闭后这台电脑就消失了。Docker仓库
,存放Docker镜像的仓库,作用和GitHub类似,Docker仓库就相当于光盘盒子。
通过docker可以快速搭建各种环境。刚好可用于本次爬虫任务的hub+node环境的搭建,另外说句题外话docker技术细节你可以不懂,但是你需要知道怎么使用。
R
嗯~~~不用介绍了吧。Mac OS
……
接下来进入到实操环节:
##下载Docker安装Docker
- Mac 下载安装Docker desktop版本还是比较简单,到Dorker mac下载地址注册一个账号,下载docker dmg直接安装