Selenium是用來處理需使用者登入才能進入頁面的動態爬蟲工具。
如上所述,可以大概知道Selenium跟赫赫有名的網頁爬蟲工具-Beautiful Soup最大的不同
就是Selenium專門用來爬需要帳密認證(而且不能用POST或GET傳值)才能看網頁內容的網站(如:Facebook、Prtg)
那不用登入的網站可不可以用Selenium爬? 當然可以! 看你的目的是甚麼
像搶票機器人就是用Selenium模擬人在瘋狂點擊和輸入資料的畫面
一般來說Selenium的速度會比Beautiful Soup慢 但還是遠比人手動輸入還快很多。
需要的環境&工具:
- Python 3
- Selenium
- WebDriver
開啟cmd,輸入 python --version
若出現python + 版本號(如下圖),則是有安裝。
註:因為python 2很多套件已經停止更新了,故只裝python 3最新版: python 3安裝連結
確認有安裝python 3後,在你安裝python的相同路徑下開啟cmd
在cmd輸入 pip install selenium
如果是用公司網路安裝的話,會出現以下錯誤訊息:
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
這是因為公用網路被限制,無法直接連上package網址下載,有兩種解法:
按Download files
選.tar.gz檔案,就會開始下載
將.tar.gz檔案解壓縮2次!!最後把沒有附檔名的資料夾,放到和python同路徑的目錄下
點進去selenium-3.141.0資料夾,確認是否有setup.py
在這個目錄下搜尋cmd,之後在cmd介面輸入python setup.py
安裝完後,在cmd輸入pip list
看到出現selenium,就是安裝成功了!
Web Driver是用來執行並操作瀏覽器的一個API介面,不同的瀏覽器有不同的Web Driver
使用selenium爬蟲一定要有Web Driver,下載要用的瀏覽器版本就好了
本篇選擇下載Chrome版本,但是點開連結會發現裡面有三種不同版本的Chrome Web Driver
到Chrome設定 >關於Chrome >查看版本,並下載對應版本。
將下載完的Chromedriver.exe放到和python相同目錄下就全部完成啦!
先寫到這裡好了,不然文章太長沒人要看....