可能可能性不大,但我正在尝试使用 Selenium-Profiles 来抓取凯悦酒店的网站以获取可用积分。
Selenium-Profiles 在过去几周一直表现出色,但昨天,该网站更改了其机器人检测,因此 Selenium-Profiles 现在返回的数据中某些字段更改为 null。
以前有人见过这样的事情吗?关于如何解决这个问题有什么建议吗?
这是我的 Selenium 配置文件初始化:
profile = json.loads(os.getenv('SELENIUM_PROFILE_3'))
profile["proxy"] = {
"proxy": super_proxy_url
}
options = ChromeOptions()
options.add_argument("--headless")
options.add_argument("--no-sandbox")
options.add_argument("--disable-dev-shm-usage")
driver = Chrome(profile=profile, options=options,uc_driver=False,injector_options=True, seleniumwire_options=True)
driver.execute_cdp_cmd('Runtime.disable',{})
injector = driver.profiles.injector
我尝试过更新我的代理配置文件、打开/关闭不同的配置以及使用 VPN/代理,但没有成功。
如果机器人检测是问题所在,那么 SeleniumBase 的 UC 模式会让您看起来像人类一样访问该网站:
from seleniumbase import Driver
driver = Driver(uc=True, headless=True)
driver.get("https://prenotami.esteri.it/Services/Booking/2391")
# ...
driver.quit()