• Python+selenium爬虫启用chrome无头浏览器


    因为使用Selenium执行爬虫任务时,必须要启动浏览器,浏览器的启动与关闭必然会影响执行效率,并且会干扰到其它操作(本机运行时),所以采用Chrome 浏览器的headless Browser模式完美解决该问题。

    1. Headless模式

    Headless Browser模式是浏览器的无界面状态,即在不打开浏览器界面的情况下使用浏览器。 该模式的好处如下:
    1)可以加快web爬虫执行时间,少了真实浏览器加载css,js以及渲染页面的工作。无界面测试要比真实浏览器快的多。
    2)可以在无界面的服务器或CI上运行测试,减少了外界的干扰,使自动化测试更稳定。
    3)可以更便捷的运行web自动化,编写爬虫、截图等。通常是由编程或者命令行来控制的。

    1. 基础环境

    python:3.10
    python的selenium库: 4.3.0
    chrome浏览器: 105.0.5148.2
    chromedriver下载地址:
    镜像下载地址
    官方下载地址

    注意: 一定要确保chrome浏览器和chromedriver版本对应

    1. selenium使用Chrome headless模式
    from selenium import webdriver
    #创建Chrome浏览器设置变量
    chrome_options = webdriver.ChromeOptions()
    #无界面模式
    chrome_options.add_argument('--headless')
    #实例化Chrome driver
    driver = webdriver.Chrome(executable_path='D:/chromedriver.exe',chrome_options=chrome_options)
    #打开百度
    driver.get("https://www.baidu.com/")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    1. ChromeOptions的其他可设置参数
    #设置浏览器窗口大小
    chrome_options.add_argument('--window-size=1920,1080')
    # 添加代理
    chrome_options.add_argument("--proxy-server=http://" + ip:port)
    # 修改User-Agent
    chrome_options.add_argument('user-agent= '你想修改成的User-Agent')
    #禁用图片
    chrome_options.add_argument('blink-settings=imagesEnabled=false')
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
  • 相关阅读:
    kuangbin专题六 最小生成树(2022.9.3)
    LeetCode·每日一题·1235.规划兼职工作·动态规划
    关于quartus 13.1出现的问题的一些总结
    Java long类型转换易犯的错误
    教资笔记(目录)
    simulink求解器选择的小tip
    【算法系列】实战篇:Diffie-Hellman算法实现通信秘钥流程
    在 Python 中将 Unicode 转换为 ASCII
    notepad++怎么运行以及配置
    ShowMeAI —— Show u 三连
  • 原文地址:https://blog.csdn.net/hualinger/article/details/127839997