Selenium+ChromeDriver獲取頁面資料

邹韬奋發表於2024-07-04

一個業務需求是從一個網站上抓取客戶的評論資訊,評論資料已經渲染好在html上由介面返回的,只能從HTML上一個個扣資料。一開始是使用的HtmlUnit來處理,但期間一直丟擲拒絕訪問提示但是從瀏覽器可以直接訪問,我就換別的網站進行訪問,別的網站能夠正常抓取資料,期間也試過設定請求頭,直到在除錯時偶然丟擲不一樣的錯誤at script.M(https://challenges.cloudflare.com/turnstile/v0/g/d2a97f6b6ec9/api.js?onload=KHGO2&render=explicit:1)沒截到圖,搜了才發現該網站使用了cloudflare的人機檢查,猜想HtmlUnit可能不是真正的請求,而是模擬的請求所以被cloudflare攔了下來。所以換了Selenium來處理

Selenium不能單獨使用,需要和不同瀏覽器的Driver來配合使用,我使用的是ChromeDriver
1.下載Chrome和對應版本的ChromeDriver
Chrome版本和ChromeDriver版本要對手不讓回丟擲錯誤
我的chrome是126的版本

chromeDriver就也需要下載126版本 114及114之前的版本可以從這下載
http://chromedriver.storage.googleapis.com/index.html
最新版本需要到這下載
https://googlechromelabs.github.io/chrome-for-testing/
2.新增selenium依賴

3.訪問頁面
相關程式碼

還是丟擲403 禁止訪問
將selenium依賴升級到4.10 訪問成功

相關文章