有时候我们需要把基于selenium的爬虫放到服务器上跑的时候,就需要这样一套运行环境,其中VNC是虚拟的显示模式,用于排查定位线上问题以及实时运行情况。
搭建流程安装虚拟输出设备:sudo apt-get install xvfb
下载google-chrome-stable deb包,大部分链接需要FQ,我这里下载了一个上传到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),代码如下:
测试环境是否安装成功,能正确执行说明基本的运行环境已经搭建成功,如下图
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
出处:***
您的支持是对博主最大的鼓励,感谢您的认真阅读。
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。