iT邦幫忙

2023 iThome 鐵人賽

DAY 24
0
自我挑戰組

網路爬蟲系列 第 24

【Day24】網路爬蟲-定位網頁資料與例外處理

  • 分享至 

  • xImage
  •  

認識Selenium網頁資料定位函數

Selenium 除了搭配 Beautiful Soup函式庫來定位和搜尋網頁資料外,本身也支援兩組網頁資料定位函數
1.find_element_by ??()函數:函數使用 find_element_by 開頭,可以取出HTML網頁中符合的第1筆HTML元素,就算有符合多筆,也只會取回第1筆。
2.find_elements_by ??()函數:函數使用find_elements_by開頭,可以取回符合的HTML元素清單。

使用網頁資料定位函數

為了方便測試Selenium網頁資料定位函數,Pyton程式載入本機HTML檔案來進行測試,如下所示:

from selenium import webdriver 
import os

driver = webdriver. Chrome ("./chromedriver")
html_path = "file:///" +os. path. abspath ("Ch7_4.html")
driver. implicitly_wait (10)
driver. get (html_path)

上述程式碼匯入 webdriver 和 os 模組後,建立本機Ch7_4.html的HTML檔案路徑後,呼叫 get()函數載入HTML檔案內容,接著就可以測試執行Selenium 網頁資料定位函數。
使用CSS選擇器定位網頁資料
我們可以呼叫 find_element_by_css_selector()函數使用 CSS 選擇器來定位網頁資料

content = driver. find_element_by_css_selector("h3. content")
print (content. text)
p = driver.find_element_by_css_selector("p")
print (p. text)

上述程式碼使用 CSS 選擇器定位<h3><p>標籤後,使用 text 屬性取得標籤內容。


上一篇
【Day23】網路爬蟲-認識動態網頁與Selenium
下一篇
【Day25】網路爬蟲-JavaScript動態網路擷取
系列文
網路爬蟲30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言