内容简介:工作中用到了Selenium作为爬虫去解析网页,发现单机跑慢的要死,所以找了点资料,将官方的Selenium 集群搭建了起来,下面是搭建的过程。首先从官网上下载好最新版本的在Hub机器上执行下面的命令,运行hub管理端
引言
工作中用到了Selenium作为爬虫去解析网页,发现单机跑慢的要死,所以找了点资料,将官方的Selenium 集群搭建了起来,下面是搭建的过程。
环境介绍
系统 | jdk环境 | selenium版本 | 安装的浏览器 | 用途 | 别名 |
---|---|---|---|---|---|
Centos7 | 1.8 | 3.141.59 | chrome | server | Hub |
Centos7 | 1.8 | 3.141.59 | chrome | node | Node1 |
Centos7 | 1.8 | 3.141.59 | chrome | node | Node2 |
Centos7 | 1.8 | 3.141.59 | chrome | node | Node3 |
安装Hub
首先从官网上下载好最新版本的 selenium-server-standalone.jar
在Hub机器上执行下面的命令,运行hub管理端
java -jar selenium-server-standalone.jar -role hub
执行以后会出现下面这样的提示
记住下面的两个URL地址:
第一个地址是注册node的时候回使用到,第二个地址是在代码中会用到
安装Node
将上面下载的jar文件复制到各个节点机器上,然后执行下面命令,注册node节点
java -jar selenium-server-standalone.jar -role node -hub http://10.10.88.51:4444/grid/register/ -capabilities browserName=chrome,platform=linux,maxInstances=30 -maxSession 60 -log /var/log/selenium.log
记住将 -hub
后面的url地址更改为你的hub地址,执行以后会出现下面的界面
然后我们返回Hub机器上看Hub机器上回出现一条这样的提示
可以看到已经成功注册了节点机器。其他节点按照同样的方式进行注册即可。
关于其中的参数可以参考下面的文章:
查看web界面
在注册完node节点以后,我们可以在web界面中看到我们注册的机器的列表以及配置
我们访问Hub机器的url地址为:
http://10.10.88.51:4444/grid/console
将其中的 10.10.88.51
换为你hub机器的ip地址即可访问
至此我们的Selenium 集群以及初步搭建完成,接下来就是使用了
使用Selenium集群
这边我用 python 代码进行测试Selenium机器是否能正常使用。
代码如下
# -*- coding:utf-8 -*- # Author: sky # Email: sky@03sec.com from selenium import webdriver from selenium.webdriver.chrome.options import Options chrome_options = Options() chrome_options.add_argument('--headless') chrome_options.add_argument('--no-sandbox') chrome_options.add_argument('--disable-gpu') chrome_options.add_argument('--hide-scrollbars') driver = webdriver.Remote(command_executor="http://10.10.88.51:4444/wd/hub",options=chrome_options) driver.get("https://www.03sec.com") driver.implicitly_wait(3) driver.find_elements_by_tag_name("div") print(driver.page_source) driver.quit()
其中 chrome_options
请根据自己的情况进行自定义,
command_executor
为上面我们记录的第二条url地址,请自行更换
其实和平时写没有什么区别,唯一的区别就是
driver = webdriver.Remote(command_executor="http://10.10.88.51:4444/wd/hub",options=chrome_options)
这条配置
安装中遇到的问题
可能会有中文乱码的问题,在centos7下安装下中文字体库即可,
yum groupinstall fonts
总结
集群安装以后,使用和平时没什么两样,速度也差不多。如果你是单机单进程跑,没必要使用集群。如果涉及到多进程或者多线程这样的话,Selenium集群才能真正发挥作用。
参考
以上所述就是小编给大家介绍的《搭建Selenium 集群》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- Elasticsearch 集群搭建和集群原理
- Zookeeper学习系列【二】Zookeeper 集群章节之集群搭建
- Spark集群环境搭建
- Zookeeper搭建集群
- FastDFS集群搭建
- Zookeeper集群环境搭建
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
程序员的职业素养
Robert C.Martin / 章显洲、余晟 / 人民邮电出版社 / 2012-9-1 / 49.00元
本书是编程大师Bob 大叔40 余年编程生涯的心得体会, 讲解成为真正专业的程序员需要什么样的态度、原则,需要采取什么样的行动。作者以自己以及身边的同事走过的弯路、犯过的错误为例,意在为后来人引路,助其职业生涯迈上更高台阶。 本书适合所有程序员,也可供所有想成为具备职业素养的职场人士参考。一起来看看 《程序员的职业素养》 这本书的介绍吧!