Try   HackMD

明新科大selenium教學環境架設

前言

由於資管系上電腦重開機會被還原,因此開發環境都無法保存下來。主機Windows 10系統有安裝vscode和virtualbox,因此將開發環境及程式碼都被在虛擬機中,並且在上課時將虛擬機導入至virtualbox,再使用vscode的remote-ssh連入虛擬機操作。

虛擬機部分

主系統

使用ubuntu 22.04桌面版製作,使用2CPU、4GB的記憶體及50GB的硬碟,網路卡使用NAT主機模式,只能和宿主機互通,虛擬機之間不互通。帳號密碼皆為must,IP為10.0.2.15(此為VirtualBox的NAT主機連接預設值)。

注意:此次VirtualBox主程式為配合學校主機,使用舊版6.1。

安裝套件

安裝基本套件
opensh-server
python3-pip

安裝chrome
使用firefox瀏覽器至網頁下載chrome瀏覽器並安裝。安裝完之後,輸入google-chrome --version查看chrome瀏覽器版本。(目前大版本看起來是113)

補充

如果是server版的ubuntu,如用vagrant產生的,不要直接指定chromedriver,而是直接用apt安裝,使用sudo apt install chromium-chromedriver之後,就可以正常使用

安裝chromedriver
先下載,並且解壓縮之後,稍後複製到/home/must/workspace/selenium/目錄下。目前看起來大版本應該是113。下面是下載及解壓縮:

cd ~ wget https://chromedriver.storage.googleapis.com/113.0.5672.63/chromedriver_linux64.zip unzip chromedriver_linux64.zip

建立python環境

cd ~ mkdir workspace cd workspace mkdir selenium cd selenium pip install --upgrade pipenv pipenv install requests pipenv install selenium pipenv install Pillow pipenv install matplotlib pipenv install numpy pipenv install opencv-python pipenv install lxml mv ~/chromedriver .

指定port forwarding讓宿主機能存取

  1. 在VirtualBox的主介面中,在選擇該VM的狀態時按設定

  2. 「網路」->「介面卡1」->「NAT」->「進階」->「連接埠轉送」。

  3. 新增一筆規則,並分別填入sshTCP, 127.0.0.1, 5678, 10.0.2.15, 22。之後按「確定」

Visual Studio Code中的設定

安裝Jupyter擴充套件

  1. 必須在教室本機先安裝Jupyter套件如下

  2. 在遠端也要裝,這樣才能選擇虛擬環境的核心

安裝remote-ssh擴充套件

  1. 必須安裝此擴充套件,左下角才會出現可連接遠端主機的符號

  2. 按此連接至遠端主機

連接至遠端Linux主機

  1. 開啟遠端主機連線

  2. 選擇「Connect to host」

  3. 輸入must@127.0.0.1:5678

  4. 此時會出現另一視窗,並且輸入密碼must

  5. 下面出現SSH和IP字樣時表示連線成功

  6. 開啟資料夾

  7. 選擇/home/must/workspace/selenium,再按下「確定」按鈕。需要再輸入一次密碼must

將VM導出至ova可供學生使用及匯入

導出

  1. 確定系統是關機狀態

  2. 右鍵選擇「匯出到OCI」

  3. 套用如下圖的設定,並選擇「下一步」

  4. 選擇「匯出」

  5. 開始匯出

匯入

  1. 匯入

  2. 選擇must.ova,下一步即可

從Windows宿主機ssh至虛擬機must

  1. 在VirtualBox中啟動must虛擬機。
  2. 開啟cmd或Windows終端機,輸入ssh must@127.0.0.1 -p 5678
  3. 輸入密碼後即可連入VM中的Linux。

scrapy部分

安裝scrapy

  1. 開機後ssh進入系統
  2. 進入虛擬目錄cd workspace/selenium
  3. 進入虛擬環境pipenv shell
  4. 安裝scrapypip install scrapy
  5. 測試scrapy是否安裝成功
scrapy bench

如果出現下面畫面就是成功了

如果出現版本問題

如果出現SSL的問題
需要重新安裝一些套件

https://stackoverflow.com/questions/73859249/attributeerror-module-openssl-ssl-has-no-attribute-sslv3-method

安裝docker

sudo apt install curl sudo apt install tmux curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh sudo usermod -aG docker $USER

exit退出再進入系統。

如果出現下面畫面就是成功了。