柚子快報邀請碼778899分享:爬蟲-selenium基本介紹
柚子快報邀請碼778899分享:爬蟲-selenium基本介紹
目錄
什么是selenium?
edge瀏覽器驅動和selenium安裝
安裝edge瀏覽器驅動
安裝selenium
selenium的基本使用
使用Selenium的好處
1. 處理動態(tài)內容
2. 模擬用戶行為
3. 應對反爬蟲機制
4. 與瀏覽器一致的渲染
什么是selenium?
edge瀏覽器驅動和selenium安裝
安裝edge瀏覽器驅動
安裝瀏覽器驅動時注意版本保持一致。
可以看到,我的edge瀏覽器的版本是129.0.2792.79,所以我就要根據這個版本下載對應的驅動:Microsoft Edge WebDriver |Microsoft Edge 開發(fā)人員
注意:如果你的系統(tǒng)是64位的,下載x64版本;如果是32位,下載x86版本
將壓縮包解壓到一個指定路徑下。比如D:\software\edge_driver路徑。訪問百度,看看能否正常打開。記住你指定的路徑,之后會用。接下來安裝selenium
安裝selenium
pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple
selenium的基本使用
這里訪問百度首頁。
from selenium import webdriver
from selenium.webdriver.edge.service import Service
# 指定 msedgedriver.exe 的路徑
path = 'D:\\software\\edge_driver\\msedgedriver.exe'
# 創(chuàng)建一個 Service 對象
service = Service(executable_path=path)
# 初始化瀏覽器對象
browser = webdriver.Edge(service=service)
# 打開網址
url = 'https://www.baidu.com'
browser.get(url)
# 獲取網頁源碼
content = browser.page_source
print(content)
# 等待用戶輸入,防止瀏覽器自動關閉
input("按回車鍵以關閉瀏覽器...")
browser.quit()
?。。∽⒁猓郝窂礁某勺约簞倓傊付ǖ穆窂?/p>
使用Selenium的好處
在爬蟲中使用 Selenium 有以下幾個關鍵好處,尤其是與傳統(tǒng)的爬蟲工具相比(如 requests、BeautifulSoup):
1. 處理動態(tài)內容
Selenium 的最大優(yōu)勢是能夠處理動態(tài)網頁。許多現代網站使用 JavaScript 動態(tài)生成內容,而傳統(tǒng)的靜態(tài)爬蟲工具無法直接抓取這些內容。Selenium 模擬真實用戶在瀏覽器中的行為,能夠讓 JavaScript 執(zhí)行并加載頁面的完整內容,包括:
使用 AJAX 動態(tài)加載的內容滾動加載的無限列表(如社交媒體頁面)交互式頁面(例如點擊、輸入后加載的內容)
傳統(tǒng)的爬蟲工具只能抓取靜態(tài) HTML,因此在遇到動態(tài)網頁時,無法獲取完整的內容,而 Selenium 可以模擬瀏覽器執(zhí)行 JavaScript 并提取加載后的數據。
2. 模擬用戶行為
Selenium 可以模擬真實用戶的操作流程,如:
點擊按鈕、鏈接填寫表單并提交選擇下拉菜單中的選項滾動頁面、放大縮小等
這種功能在需要爬取復雜網頁時非常有用。例如,當需要登錄才能訪問某些數據時,Selenium 可以模擬用戶輸入用戶名和密碼、點擊登錄按鈕等操作,爬取成功后再提取數據。
3. 應對反爬蟲機制
許多網站有反爬蟲機制,檢測到頻繁的自動化請求(例如通過 requests 發(fā)送的大量請求)會拒絕訪問。而 Selenium 模擬的是真實瀏覽器行為,用戶代理、Cookie 和瀏覽器特性與普通用戶幾乎沒有區(qū)別,因此較難被檢測到是爬蟲工具。這使得它在一些有反爬蟲機制的網站上更容易繞過限制。
另外,Selenium 能夠自動處理頁面加載、重定向和 JavaScript 觸發(fā)的事件,減少反爬蟲機制帶來的障礙。
4. 與瀏覽器一致的渲染
使用 Selenium 抓取數據時,由于其直接運行在瀏覽器中,因此獲得的頁面內容與用戶在瀏覽器中看到的完全一致。這包括:
復雜的 CSS 樣式動態(tài)生成的 DOM 元素圖像、SVG 或其他動態(tài)內容
相比之下,使用 requests 抓取的內容有時會缺少頁面的動態(tài)部分或與實際頁面不符。
柚子快報邀請碼778899分享:爬蟲-selenium基本介紹
好文鏈接
本文內容根據網絡資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉載請注明,如有侵權,聯(lián)系刪除。