我正在運行一個抓取網站的 Python 腳本。它使用 Imperva 檢測通過其網頁爬行的自動腳本。運行腳本后,Imperva 已阻止我的 IP 訪問該站點。我確實讀過有人建議time.sleep(random.randint(a,b))在腳本中包含一個(嘗試和模仿人類行為)它不起作用,或者它可能無法作為獨立方法作業。如果他們檢測到的是 chrome 驅動程式本身,那么我想這是無法避免的。有沒有人對我可以包含在我的腳本中以繞過這個的東西有任何實用的建議?提前致謝。
uj5u.com熱心網友回復:
介紹
有許多不同的組件需要添加到網路抓取工具中以使其無法檢測到。我建議使用以下代碼來測驗您當前的檢測級別:
driver.get("https://bot.sannysoft.com/")
更有可能的是,您將立即通過大多數這些測驗,幸運的是,配置一個可以通過所有這些測驗并且完全無法檢測到的刮板很容易。
硒隱形
selenium-stealth是一個 python 包,用于避免檢測。簡單地...
pip install selenium-stealth
并遵循以下配置:
stealth(driver,
user_agent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36(KHTML, like Gecko) Chrome/83.0.4103.53 Safari/537.36',
languages=["en-US", "en"],
vendor="Google Inc.",
platform="Win32",
webgl_vendor="Intel Inc.",
renderer="Intel Iris OpenGL Engine",
fix_hairline=True,
)
您的網路爬蟲應該通過所有測驗,現在嘗試在 Imperva 網站上實施此解決方案。
更多資訊
如果您仍然被阻止,我建議您查看random-user-agent 庫以在 selenium-stealth 配置的“user_agent”變數中回圈您的用戶代理。否則,您可以支付代理提供商的費用來完全偽裝您的 IP。請記住,代理網路目前沒有selenium 配置。
代理網路 Selenium 配置資訊: Python Selenium 代理網路
關于云中 Selenium 可檢測性的資訊: Python Selenium AWS Lambda Change WebGL Vendor/Renderer For Undetectable Headless Scraper
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/480838.html
