Go language

[Python]動態網路爬蟲Selenium教學(1)-環境設定

How To Use Checklists To Improve Your UX
Selenium介紹

Selenium是用來處理需使用者登入才能進入頁面的動態爬蟲工具。

如上所述,可以大概知道Selenium跟赫赫有名的網頁爬蟲工具-Beautiful Soup最大的不同

就是Selenium專門用來爬需要帳密認證(而且不能用POST或GET傳值)才能看網頁內容的網站(如:Facebook、Prtg)

那不用登入的網站可不可以用Selenium爬? 當然可以! 看你的目的是甚麼

像搶票機器人就是用Selenium模擬人在瘋狂點擊和輸入資料的畫面

一般來說Selenium的速度會比Beautiful Soup慢 但還是遠比人手動輸入還快很多。

Selenium安裝

需要的環境&工具:

  • Python 3
  • Selenium
  • WebDriver
  1. 確認是否安裝 Python 3
  2. 開啟cmd,輸入 python --version

    若出現python + 版本號(如下圖),則是有安裝。

    image

    註:因為python 2很多套件已經停止更新了,故只裝python 3最新版: python 3安裝連結

  3. 安裝Selenium
  4. 確認有安裝python 3後,在你安裝python的相同路徑下開啟cmd

    image

    在cmd輸入 pip install selenium

    image

    如果是用公司網路安裝的話,會出現以下錯誤訊息:

    WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after 
    connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED]
    certificate verify failed: self signed certificate in certificate chain (_ssl.c:1122)'))': /simple/mammoth/
    ERROR: Could not find a version that satisfies the requirement selenium (from versions: none)
    ERROR: No matching distribution found for selenium
    

    image

    這是因為公用網路被限制,無法直接連上package網址下載,有兩種解法:

    1. 拔掉公司網路線,連自己手機網路安裝(大推!比較快)
    2. python套件官網搜尋selenium,選第一個結果
    3. image

      按Download files

      image

      選.tar.gz檔案,就會開始下載

      image

      將.tar.gz檔案解壓縮2次!!最後把沒有附檔名的資料夾,放到和python同路徑的目錄下

      image

      點進去selenium-3.141.0資料夾,確認是否有setup.py

      image

      在這個目錄下搜尋cmd,之後在cmd介面輸入python setup.py

      image

      安裝完後,在cmd輸入pip list看到出現selenium,就是安裝成功了!

      image

  5. 下載 Web Driver
  6. Web Driver是用來執行並操作瀏覽器的一個API介面,不同的瀏覽器有不同的Web Driver

    使用selenium爬蟲一定要有Web Driver,下載要用的瀏覽器版本就好了

    1. Chrome版本載點

    2. Edge版本載點

    3. Firefox版本載點

    4. Safari版本載點

    本篇選擇下載Chrome版本,但是點開連結會發現裡面有三種不同版本的Chrome Web Driver

    到Chrome設定 >關於Chrome >查看版本,並下載對應版本。

    image

    將下載完的Chromedriver.exe放到和python相同目錄下就全部完成啦!

先寫到這裡好了,不然文章太長沒人要看....