如果有在開發Python網頁爬蟲的話,「動態網頁」這個詞應該都不陌生。那想要爬取動態網頁上的資料,Selenium套件就是最常被用來開發網頁爬蟲的工具之一,透過它提供的網頁操作方法,來模擬使用者的操作,進而爬取到動態網頁的資料。
這篇文章我整理了Selenium建置網頁爬蟲專案的步驟與重要模組,幫助大家之後能夠更方便、快速的建立Python動態網頁爬蟲專案。
- 安裝Selenium、Webdriver Manager
- 引用Selenium網頁爬蟲的重要模組
- 初始化Selenium網頁爬蟲專案
一、安裝Selenium、Webdriver Manager
Selenium簡單來說,就是一個自動化的瀏覽器套件,提供了很多操作網頁及爬取資料的方法,也因此它會需要安裝瀏覽器驅動程式,這時候就可以搭配Webdriver Manager套件(支援各種不同瀏覽器的驅動程式),在執行Selenium專案的同時,能夠動態偵測本機使用的瀏覽器版本,自動安裝相應的瀏覽器驅動程式,非常的實用。
可以使用pip指令來安裝這兩個套件:
$ pip install selenium webdriver-manager
二、引用Selenium網頁爬蟲的重要模組
接下來,建立Python網頁爬蟲檔案,引用Selenium套件爬取動態網頁所需的模組,這邊就列出幾個常用Selenium的引用的時機及方式:
- webdriver(瀏覽器驅動模組)
from selenium import webdriver # 瀏覽器驅動模組
- webdriver_manager(瀏覽器驅動管理員)
from webdriver_manager.chrome import ChromeDriverManager # Chrome瀏覽器驅動模組
- By(網頁元素定位模組)
from selenium.webdriver.common.by import By # 定位元素模組
- ActionChains(動作鏈模組)
from selenium.webdriver.common.action_chains import ActionChains
- WebDriverWait(網頁驅動等待模組)、expected_conditions(期望條件模組)
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC
- time(時間模組)
import time # 時間模組
- Options(瀏覽器選項模組)
from selenium.webdriver.chrome.options import Options # 瀏覽器選項設定模組
三、初始化Selenium網頁爬蟲專案
依照爬取的情境引用適合的模組之後,就可以建立Selenium的webdriver瀏覽器驅動物件,這邊以Chrome瀏覽器為例:
# 安裝及啟動Chrome瀏覽器 driver = webdriver.Chrome(ChromeDriverManager().install(), chrome_options=options)
接下來,利用webdriver瀏覽器驅動物件的get()方法,發送請求到想要爬取的目標網頁網址,如下範例:
# 安裝及啟動Chrome瀏覽器 driver = webdriver.Chrome(ChromeDriverManager().install(), chrome_options=options) # 發送請求到Facebook網站 driver.get('https://www.facebook.com/')
到這邊就完成Selenium網頁爬蟲專案的初始化了,後續就可以透過webdriver瀏覽器驅動物件來爬取動態網頁上的資料了。
四、小結
這篇文章分享了建置Selenium網頁爬蟲專案的系統化步驟,首先安裝Selenium、Webdriver Mananger套件,再來依爬取需求引用相應的模組,最後建立瀏覽器驅動模組來完成專案的初始化,下次想要建立Selenium網頁爬蟲專案的時候,就參考這篇文章的教學,不用再東找西找還有什麼模組沒有引用了!歡迎分享給學習Python網頁爬蟲的朋友們。
你可能有興趣的文章
留言
張貼留言