zoukankan      html  css  js  c++  java
  • 无头浏览器+规避检测

    无头浏览器 规避检测

    针对有些网站检测selenium是否无头浏览器的检测,可以使用规避检测来进行伪装
    使用的是,chrome 79以后版本

    # -*- ecoding: utf-8 -*-
    # @ModuleName: 5、无头浏览器器和规避检测
    # @Function: 
    # @Author: merry
    # @Time: 2021/1/25 11:34
    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    from time import sleep
    
    # 定义无头浏览器
    chrome_options = Options()
    chrome_options.add_argument('--headless')
    chrome_options.add_argument('--disable-gpu')
    
    bro = webdriver.Chrome(executable_path='./chromedriver', options=chrome_options)
    # 规避检测
    bro.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
        "source": """
        Object.defineProperty(navigator, 'webdriver', {
          get: () => undefined
        })
      """
    })
    
    bro.get('https://www.baidu.com')
    sleep(3)
    
    print(bro.page_source)
    bro.save_screenshot('1.png')
    
    bro.quit()
    
    
  • 相关阅读:
    [考试]20150811
    [考试]20150810
    [随笔]暑假过了,暑假来了
    [考试]20150808
    动态规划大合集II
    [知识点][旧版]C++中的运算符
    NOIP动态规划大合集
    [考试]20150729
    [考试]20150728
    /=============分隔线=============/
  • 原文地址:https://www.cnblogs.com/merryblogs/p/14324411.html
Copyright © 2011-2022 走看看