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