今天的課程主要圍繞著使用 Selenium 這個強大的網頁自動化工具進行爬蟲,包括了基本的瀏覽器操作、元素定位、與網頁互動、結合 BeautifulSoup 進行資料解析,以及處理網頁動態載入和模擬用戶操作的進階技巧。


Selenium 基礎操作:

  • 瀏覽器控制: 如何使用 webdriver 啟動和關閉 Chrome 瀏覽器 (webdriver.Chrome(), driver.close(), driver.quit()).
  • 網頁導航: 如何使用 driver.get() 方法載入指定的網頁 URL。
  • 元素定位: 如何使用 driver.find_element() 方法,透過不同的定位器 (By.ID, By.NAME, By.LINK_TEXT, CSS 選擇器等) 尋找網頁上的特定元素。
  • 與表單互動:
    • 如何使用 element.send_keys() 在輸入框中輸入文字。
    • 如何模擬按下鍵盤按鍵 (Keys.RETURN)。
    • 如何使用 element.clear() 清空輸入框內容。
    • 如何使用 element.click() 模擬點擊按鈕。
  • 操作下拉式選單: 如何使用 selenium.webdriver.support.ui.Select 類別來選擇下拉選單中的選項 (透過索引、value 屬性、可見文字)。
  • 獲取網頁資訊: 如何使用 driver.current_url 獲取當前頁面的 URL。

2. 結合 BeautifulSoup 解析網頁:

  • HTML 解析: 如何使用 BeautifulSoup 解析 Selenium 獲取的網頁原始碼 (driver.page_source)。
  • 資料提取: 如何使用 BeautifulSoup 的 CSS 選擇器 (soup.select()) 提取網頁中的特定資訊 (例如:標題文字)。

3. 等待機制:

  • 隱式等待 (implicitly_wait): 設定全局的等待時間,讓 WebDriver 在尋找元素時等待一段時間。
  • 顯式等待 (WebDriverWait): 針對特定的元素和條件設定等待時間,直到滿足條件 (expected_conditions) 才繼續執行。這能更精確地處理網頁動態載入的情況。

4. 進階瀏覽器操作:

  • 執行 JavaScript: 如何使用 driver.execute_script() 在瀏覽器中執行 JavaScript 程式碼,例如模擬網頁滾動。
  • 模擬滑鼠操作 (ActionChains): 如何使用 ActionChains 類別模擬複雜的滑鼠互動,例如移動滑鼠到特定元素上。
文章標籤
全站熱搜
創作者介紹
創作者 ky0dd 的頭像
ky0dd

阿京小站

ky0dd 發表在 痞客邦 留言(0) 人氣(2)