iT邦幫忙

2024 iThome 鐵人賽

DAY 15
0
Python

一些Python可以做的事系列 第 15

[Python] Selenium 和 Requests 的差別

  • 分享至 

  • xImage
  •  

這篇對比了 Selenium 和 Requests 兩個 Python 庫在不同情境下的應用和優缺點,選擇哪一個比較適合使用

1. 主要用途

  • Selenium 主要用於自動化網頁瀏覽器測試,可以模擬用戶的各種操作,較適合處理動態網頁
  • Requests 專注於HTTP請求的處理,適合用於靜態網頁抓取

2. 工作原理

  • Selenium 通過與瀏覽器 driver 的互動來模擬用戶操作,甚至支持無頭模式來提高執行效率,但需要瀏覽器和 driver 才能使用。能夠執行 JavaScript 和 CSS
  • Requests 則直接向服務器發送HTTP請求並接收響應,不需要有瀏覽器,因此速度更快,資源消耗更少

3. 適用場景

  • Selenium 適合於需要模擬用戶操作的自動化測試、動態網頁數據抓取、以及自動化表單提交等
  • Requests 更適合用於簡單的HTTP請求、API交互以及靜態網頁資料抓取

4. 相同點和不同點

  • 相同點在於兩者都能用於資料抓取和自動化網頁訪問
  • 不同點在於工作原理和運行環境,Selenium需要瀏覽器,而Requests則是一個輕量級的HTTP客戶端

5. 優缺點

  • Requests 的優點是速度快、資源消耗少且簡單易用,但在處理動態頁面時功能有限
  • Selenium 雖然功能強大,可以處理動態頁面和模擬複雜的用戶交互,但速度慢,都要開啟瀏覽器、資源消耗大

6. 組合使用Selenium和Requests

  • 混合使用
    • 可以將Selenium和Requests結合使用。比如,使用 Selenium 登錄 ,獲取 Cookie 或 Session 信息,然後再用 Requests 進行後續的資料抓取
    • 對於動態頁面,可以用 Selenium 先進行一次爬取,提取相關API的請求來使用Requests直接訪問這些API,可以加快速度

參考資料 :
网络请求爬虫【requests】和自动化爬虫【selenium】
网络爬虫中selenium和requests这两个工具有什么区别呢?


上一篇
[Python] Selenium 對 Cookie 的操作
下一篇
[Python]下載微信(wechat)公眾號的文章文字內容
系列文
一些Python可以做的事19
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言