undetected-chromedriver访问Ticketmaster被反爬,如何获取reese84 cookie
触发的反爬提示:As you were browsing something about your browser made us think you were a bot
默认配置的undetected_chromedriver无法绕过该站点的反爬检测,需要添加专属配置,参考实现如下:
import undetected_chromedriver.v2 as uc from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.by import By if __name__ == '__main__': options = uc.ChromeOptions() # 移除浏览器自动化控制标识 options.add_argument("--disable-blink-features=AutomationControlled") # 替换为你本地真实Chrome的User-Agent,可在浏览器地址栏输入chrome://version查看 options.add_argument("user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 14_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36") # 模拟真实用户启动窗口状态 options.add_argument("--start-maximized") # 关闭易触发检测的多余选项 options.add_argument("--no-sandbox") options.add_argument("--disable-gpu") options.add_argument("--disable-dev-shm-usage") # version_main参数填你本地安装的Chrome浏览器主版本号 driver = uc.Chrome(options=options, version_main=124) with driver: driver.get('https://www.ticketmaster.com/') # 等待页面及反爬脚本加载完成,确保cookie下发 WebDriverWait(driver, 20).until( EC.presence_of_element_located((By.TAG_NAME, "body")) ) # 提取reese84 cookie cookies = driver.get_cookies() reese84 = None for cookie in cookies: if cookie['name'] == 'reese84': reese84 = cookie['value'] break if reese84: print(f"获取到的reese84值: {reese84}") else: print("未获取到reese84,可尝试延长等待时间或调整浏览器指纹配置")
- 确保Chrome主版本号和chromedriver版本完全匹配,版本差异会直接触发反爬检测
- 若仍然触发拦截,可额外添加canvas、webgl等浏览器指纹混淆配置,降低设备指纹的唯一性
- 控制访问频率,短时间内多次请求会触发IP限流,同样会返回反爬提示
内容的提问来源于stack exchange,提问作者Bijan
相关产品推荐
相关产品推荐

