zoukankan      html  css  js  c++  java
  • selenium 反爬虫识别特征处理

    因为业务中发现网站对selenium特征识别为爬虫了,因此在搜索引擎中搜索进行处理

    方式一

    # 实例化一个浏览器对象
    options = webdriver.ChromeOptions()
    options.add_experimental_option('excludeSwitches', ['enable-automation'])
    if sys.platform == "win32":
        browser = webdriver.Chrome(driver_path, options=options)
    else:
        browser = webdriver.Chrome(options=options)
    browser.implicitly_wait(30)
    browser.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
        "source": """
        Object.defineProperty(navigator, 'webdriver', {
          get: () => undefined
        })
      """
    })
    

    此方法虽然可以躲避识别,但是在使用过一段时候后,依然出现被屏蔽的问题。

    因此只有继续搜索 然后再stackoverflow 中又找到了新的答案。

    方式二 (推荐)

    # 实例化一个浏览器对象
    options = webdriver.ChromeOptions()
    options.add_argument("--disable-blink-features=AutomationControlled")
    if sys.platform == "win32":
        browser = webdriver.Chrome(driver_path, options=options)
    else:
        browser = webdriver.Chrome(options=options)
    

    这个方法执行的后,目前运行良好也没有出现被识别的问题。

    关闭当前标签 在切换标签前关闭

    driver.close()
    windows = driver.window_handles
    driver.switch_to.window(windows[-1])
    
  • 相关阅读:
    616无趣
    安装elasticsearch的问题
    导出PDF数据
    生活本苦,奈何年华
    分享一个sql查询重复记录
    springboot的java打印票据-4
    springboot的java打印票据-3
    springboot的java打印票据-2
    react 学习笔记
    原生可拖动表格
  • 原文地址:https://www.cnblogs.com/libaibuaidufu/p/13383780.html
Copyright © 2011-2022 走看看