無界面Ubuntu服務器搭建selenium+chromedriver+VNC運行環境

搭建背景

  • 有時候咱們須要把基於selenium的爬蟲放到服務器上跑的時候,就須要這樣一套運行環境,其中VNC是虛擬的顯示模式,用於排查定位線上問題以及實時運行狀況。

搭建流程

  1. 安裝虛擬輸出設備:sudo apt-get install xvfb
  2. 下載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
  3. 安裝:sudo dpkg -i google-chrome-stable_69.0.3497.100-1_amd64.deb
  4. 安裝對應依賴:apt-get -f install
  5. 下載對應的chromedriver,wget https://raw.githubusercontent.com/wycm/md-image/master/2019-03-14/chromedriver_linux64.zip
  6. 解壓:unzip chromedriver_linux64.zip
  7. 啓動虛擬化輸出設備Xvfb :99 -ac -screen 0 1280x1024x24 &
  8. 設置輸出設備:export DISPLAY=:99
  9. 執行chrome.py腳步(須要安裝:selenium:pip install selenium),代碼以下:
    html

    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()
  10. 測試環境是否安裝成功,能正確執行說明基本的運行環境已經搭建成功,以下圖python

VNC安裝

  1. 以上基本的運行環境雖然搭建好了,有時候須要用於線上問題定位和調試的時候,那就須要有可視化輸出,VNC就是用於可視化的。具體安裝步驟以下
  2. 安裝VNC須要的桌面環境:sudo apt-get install --no-install-recommends ubuntu-desktop gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal -y
  3. 安裝VNC server:sudo apt-get install vnc4server -y
  4. 啓動server,並設置輸出設備號爲1:vncserver :1,首次運行會提示你設置密碼。用於在後面使用客戶端登陸時須要。
  5. 指定接下來的進程的輸出設備號爲1(就爲上一步指定設備號)。export DISPLAY=:1
  6. 打開mac的屏幕共享,而後連上這臺遠程server,輸入剛剛設置的密碼。而後執行python chrome.py就能看到這臺server的實時輸出了。以下圖
  7. 若是用於線上運行的時候,就不必運行VNC server了,直接輸出到Xvfb虛擬設備就能夠了,節省資源。

版權聲明
做者:wycm
出處:http://www.javashuo.com/article/p-zoghlwop-bv.html
您的支持是對博主最大的鼓勵,感謝您的認真閱讀。
本文版權歸做者全部,歡迎轉載,但未經做者贊成必須保留此段聲明,且在文章頁面明顯位置給出原文鏈接,不然保留追究法律責任的權利。
一個程序員平常分享,包括但不限於爬蟲、Java後端技術,歡迎關注linux

相關文章
相關標籤/搜索