繁体   English   中英

用硒卡在循环网络抓取中

[英]Stuck in loop webscraping with selenium

我正在尝试使用 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)

你的代码很好。

问题是这类防火墙大多能很好地防止自动浏览器,如 Playwright、Selenium 等。(最后,这是他们应该做的,防止机器人访问该站点)

您可以调整您的 Selenium 浏览器配置,使其模仿实际的 chrome 配置并诱使 DataDome 认为您是真正的用户。

此外,您可以查看发送到防火墙(在这种情况下发送到 ~/datadome.js)的有效负载的组成并尝试复制它们。 (通过尝试对构造和发送有效负载的 JavaScript 进行逆向工程。)

请记住,他们还可以通过查看其他内容(例如您的 TLS 配置(例如密码套件)或只是您的 IP 地址)来创建您的指纹。 一般来说,如果一家公司使用这样的防火墙,这意味着他们不希望你抓取他们的网站,所以在这种情况下避免这样做。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM