今天的課程主要圍繞著使用 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類別模擬複雜的滑鼠互動,例如移動滑鼠到特定元素上。
文章標籤
全站熱搜
