搭建背景
- 有時候我們需要把基於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
您的支持是對博主最大的鼓勵,感謝您的認真閱讀。
本文版權歸作者所有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。