我正在尝试使用PYTHON和SIMERE来获取leboncoin。
当我注意到他们使用DataDome进行机器人检测时,我才刚刚开始,所以我必须传递验证码,但在尝试自动化之前(这个问题与此无关),我只是在Selify打开的铬浏览器上手动解决了验证码,但它不起作用,每当我解决它时,它只是返回到验证码,我无法访问网站,它陷入循环。
以下是我的代码:
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)
2条答案
按热度按时间svdrlsy41#
您的代码没有问题。
问题是,这些类型的防火墙大多可以很好地防御自动浏览器,如PlayWriter、Selify等。(最终,这是他们应该做的,阻止机器人访问网站)
您可以调整您的Selify浏览器配置,使其模仿实际的Chrome配置,并诱使DataDome认为您是真正的用户。
此外,您可以查看发送到防火墙的有效负载(在这种情况下是发送到~/datadome.js)的内容,并尝试复制它们。(通过尝试对构造和发送有效负载的JavaScript进行反向工程。)
请记住,他们还可以通过查看您的TLS配置(例如密码套件)或简单地查看您的IP地址等其他内容来创建您的指纹。一般来说,如果一家公司使用这样的防火墙,这意味着他们不想让你刮他们的网站,所以如果是这样的话就避免这样做。
klsxnrf12#
考虑到法国专业数据缓解公司https://datadome.co/部署的强大
bot-mitigation
,leboncoin.fr确实真的很难收集。浏览器指纹识别、IP限制、多验证码、JS挑战。
不过,您可以从lobstr.io使用现成的爬虫程序,可在此处访问:https://lobstr.io/store/33db1ca85160105eeb84d5aa51cfad10/leboncoin-iter-listings
并且希望易于使用API Access:
https://lobstrio.docs.apiary.io/
:crab: