在docker中部署selenium环境
本人实验室最近遇到一个爬虫项目,需要部署到服务器上运行。奈何本人不是超级管理员,同时为了不影响实验室其他同学在服务器上的环境,本人决定在docker里面部署selenium环境,并将python脚本在docker里面定时执行。
好啦。下面就来看看怎么部署selenium环境把。这里用到的是chrome和chromedriver,如果想用其他的浏览器例如firefox,则需下载安装fiefox和fiexfoxdriver。
1、安装chrome,这里安装的chrome版本是85。
#在Ubuntu系统中
#首先下载chrome
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
#安装
dpkg -i google-chrome-stable_current_amd64.deb
#在Centos系统中
#可直接下载并安装chrome
yum install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
#也可以先下载,再安装
wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
yum install ./google-chrome-stable_current_x86_64.rpm
2、安装chromedriver
安装的chromedriver需与上一步下载安装的chrome版本相对应,具体对应关系见如下网址:
http://chromedriver.storage.googleapis.com/index.html
从上述网站中下载与chrome版本相对应的chromedriver,将zip包上传到你的docker的某个文件夹(你也可以自己新建一个文件夹),再cd到该文件夹下对该zip解压缩
unzip chromedriver_linux64.zip
这样就得到了chromedriver_linux64
3、配置chromedriver的path
mv chromedriver_linux64.zip /usr/local/bin
有时候还需要增加一步
mv chromedriver_linux64 /root/src
当然,你也可以使用cp命令行。
4、检查
到这一步,selenium环境就差不多部署好了。(前面步骤的前提就是你的docker得有个python环境,同时还要下载个selenium包)
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
if __name__ == '__main__':
options = Options()
options.binary_location = '/usr/bin/google-chrome'
options.add_argument('--headless')
options.add_argument('--no-sandbox')
options.add_argument('--disable-gpu')
options.add_argument('--disable-dev-shm-usage')
# 打开浏览器
browser = webdriver.Chrome(executable_path='/root/src/chromedriver', options=options)
browser.implicitly_wait(10)
# 打开网址
browser.get('http://www.baidu.com')
print(browser.page_source)
browser.quit()
如果输出了网页的html信息,则说明环境部署成功。
Tips:
一般在Centos系统中,安装某个包或者某个命令,用如下安装命令
yum install 包名
在ubuntu系统中,则是:
apt-get install 包名