我正在嘗試使用 python 和 selenium刮取 leboncoin 。
當我注意到他們使用 DataDome 進行機器人檢測時,我才剛開始,所以我必須通過驗證碼,但在嘗試自動化任何這些之前(這個問題與此無關)我只是在鉻瀏覽器上手動解決了驗證碼硒打開了,但它不起作用,每當我解決它時,它就會回傳驗證碼,我無法訪問該站點,它陷入了回圈。
這是我的代碼:
import time
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.chrome.options import Options
from webdriver_manager.chrome import ChromeDriverManager
options = webdriver.ChromeOptions()
# options.add_argument("--headless")
options.add_argument("--log-level=3")
driver = webdriver.Chrome(executable_path='chromedriver', options=options)
url = "https://www.leboncoin.fr/voitures/2182521551.htm"
driver.get("https://www.leboncoin.fr")
driver.get(url)
time.sleep(100)
uj5u.com熱心網友回復:
你的代碼很好。
問題是這類防火墻大多能很好地防止自動瀏覽器,如 Playwright、Selenium 等。(最后,這是他們應該做的,防止機器人訪問該站點)
您可以調整您的 Selenium 瀏覽器配置,使其模仿實際的 chrome 配置并誘使 DataDome 認為您是真正的用戶。
此外,您可以查看發送到防火墻的有效負載(在這種情況下發送到 ~/datadome.js )包含什么并嘗試復制它們。(通過嘗試對構造和發送有效負載的 JavaScript 進行逆向工程。)
請記住,他們還可以通過查看其他內容(例如您的 TLS 配置(例如密碼套件)或只是您的 IP 地址)來創建您的指紋。一般來說,如果一家公司使用這樣的防火墻,這意味著他們不希望你抓取他們的網站,所以在這種情況下避免這樣做。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/496229.html
上一篇:如何使用劇作家捕捉特定重定向?
