搭建背景
- 有时候我们需要把基于selenium的爬虫放到服务器上跑的时候,就需要这样一套运行环境,其中VNC是虚拟的显示模式,用于排查定位线上问题以及实时运行情况。
搭建流程
- 安装虚拟输出设备:
sudo apt-get install xvfb
- 下载google-chrome-stable deb包,由于网上大部分链接没法下载,我这里下载了一个上传到github上了,
wget https://raw.githubusercontent.com/wycm/md-image/master/2019-03-14/google-chrome-stable_69.0.3497.100-1_amd64.deb
, - 安装:
sudo dpkg -i google-chrome-stable_69.0.3497.100-1_amd64.deb
。 - 安装对应依赖:
apt-get -f install
。 - 下载对应的chromedriver,
wget https://raw.githubusercontent.com/wycm/md-image/master/2019-03-14/chromedriver_linux64.zip
- 解压:
unzip chromedriver_linux64.zip
- 启动虚拟化输出设备
Xvfb :99 -ac -screen 0 1280x1024x24 &
- 设置输出设备:
export DISPLAY=:99
执行chrome.py脚步(需要安装:
selenium:pip install selenium
),代码如下:from selenium import webdriver import time if __name__ == '__main__': options = webdriver.ChromeOptions() options.add_argument("--no-sandbox") //刚刚解压的chromedriver路径 driver = webdriver.Chrome("/root/wy/chromedriver",chrome_options=options) driver.get('https://www.baidu.com') print(driver.title) time.sleep(1) driver.close()
测试环境是否安装成功,能正确执行说明基本的运行环境已经搭建成功,如下图
VNC安装
- 以上基本的运行环境虽然搭建好了,有时候需要用于线上问题定位和调试的时候,那就需要有可视化输出,VNC就是用于可视化的。具体安装步骤如下
- 安装VNC需要的桌面环境:
sudo apt-get install --no-install-recommends ubuntu-desktop gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal -y
- 安装VNC server:
sudo apt-get install vnc4server -y
- 启动server,并设置输出设备号为1:
vncserver :1
,首次运行会提示你设置密码。用于在后面使用客户端登录时需要。 - 指定接下来的进程的输出设备号为1(就为上一步指定设备号)。
export DISPLAY=:1
。 - 打开mac的
屏幕共享
,然后连上这台远程server,输入刚刚设置的密码。然后执行python chrome.py
就能看到这台server的实时输出了。如下图 - 如果用于线上运行的时候,就没必要运行VNC server了,直接输出到Xvfb虚拟设备就可以了,节省资源。
版权声明
作者:wycm
出处:https://www.cnblogs.com/w-y-c-m/p/10533361.html
您的支持是对博主最大的鼓励,感谢您的认真阅读。
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
所有评论(0)