浏览器自动化与网络爬虫实战:工具对比与选型指南
浏览器自动化与网络爬虫实战:工具对比与选型指南
摘要
在当今数字化时代,浏览器自动化和网络爬虫技术已成为数据收集与测试的重要工具。本文深入剖析了多种主流浏览器自动化工具和爬虫框架的特点、优缺点及其适用场景,包括 Selenium、Puppeteer、Cypress 等自动化工具,以及 Scrapy、Requests + BeautifulSoup 等爬虫框架。通过详细对比,读者可依据自身项目需求、技术栈和复杂程度,精准选择最适合的工具,无论是进行复杂的跨浏览器测试,还是高效的数据抓取任务,都能找到得力的解决方案。
一、浏览器自动化工具全景对比
(一)Selenium:成熟稳定的自动化 giant
- 优势亮点 :浏览器与语言支持堪称 “全能王”,主流浏览器均兼容,Java、Python、C# 等多种编程语言绑定,社区庞大资源丰富,跨平台特性使其在 Windows、Linux、macOS 上都能一展身手。
- 短板之处 :WebDriver 通信机制拖累执行速度,异步处理现代 Web 应用动态加载时,需额外配置。
- 施展拳脚的场景 :跨浏览器兼容性测试的不二之选,若团队本就有 Selenium 使用经验,传统项目迁移时可无缝对接,降低成本。
(二)Puppeteer:Chromium 上的 “极速飞车”
- 优势亮点 :API 简洁到让人爱不释手,学习成本低,直接与 Chrome DevTools 协议交互,操作响应快如闪电。
- 短板之处 :浏览器支持 “专一且局限”,仅紧密拥抱 Chromium 浏览器,Firefox、Safari 等均不在支持之列。
- 施展拳脚的场景 :高效监听 WebSocket 或高频请求,在爬虫项目中实时捕获 API 响应,若项目对多浏览器支持无需求,是提升效率的利器。
(三)Cypress:前端测试的 “贴心伙伴”
- 优势亮点 :简洁 API 配合直观界面,编写运行测试轻松愉快,强大的调试工具能在测试运行时洞察页面元素、网络请求,助开发者快速揪出问题。
- 短板之处 :浏览器支持 “一家独大”,目前仅支持 Chrome 浏览器,跨浏览器测试能力受限。
- 施展拳脚的场景 :在需要快速开发、迭代的前端项目中,为小型到中型 Web 应用程序的端到端测试提供有力支撑。
(四)WebDriverIO:灵活多变的测试能手
- 优势亮点 :兼容 WebDriver 协议,同步与异步模式自由切换,丰富的插件生态系统可灵活扩展功能。
- 短板之处 :学习曲线较陡,相较于一些简易框架,掌握它需要更多时间和精力投入。
- 施展拳脚的场景 :面对复杂的自动化测试需求,能提供高度定制化的解决方案,是追求灵活定制的团队的优质选择。
(五)TestCafe:零配置的高效测试新贵
- 优势亮点 :无需 WebDriver 或浏览器驱动程序,开箱即用,内置等待机制,可自动处理页面加载和 AJAX 请求难题。
- 短板之处 :社区规模较小,相较于 Selenium,在遇到问题时可获取的支持资源相对有限。
- 施展拳脚的场景 :对于渴望快速搭建测试环境并运行测试的团队,能大幅缩短前期准备时间。
(六)Katalon Studio:企业级测试的 “一站方案”
- 优势亮点 :功能全面,集对象存储库、内置关键字库、报告和分析工具于一身,图形用户界面友好,初学者能轻松上手。
- 短板之处 :商业版付费门槛较高,基础免费版功能有限,一定程度上制约了深度使用。
- 施展拳脚的场景 :满足企业级全面测试管理需求,为复杂的企业应用测试提供一站式服务。
(七)Robot Framework with SeleniumLibrary:低代码测试的 “模块化专家”
- 优势亮点 :关键字驱动的测试编写方式,学习使用难度低,模块化设计便于扩展与维护,减少重复工作。
- 短板之处 :性能表现欠佳,相较于原生 Selenium 实现,在执行效率上稍显笨重。
- 施展拳脚的场景 :适合希望减轻编码工作量、专注测试逻辑编排的团队,尤其契合低代码测试场景。
二、爬虫框架精准选型秘籍
(一)Python 领域
- Scrapy + Scrapy - Splash 或 Scrapy + Selenium :如同 “超级战舰”,Scrapy 强大的异步请求能力,配合 Splash 或 Selenium 处理 JavaScript 动态加载内容,可快速抓取大规模数据。然而,配置复杂,需投入精力钻研。适用于大规模数据爬取,尤其是需要处理 JavaScript 渲染页面的任务。
- Selenium :擅长模拟真实浏览器行为,面对复杂的登录流程和动态加载内容时游刃有余。但性能欠佳,资源消耗大,不适合高并发场景。在登录涉及大量交互式操作,如拖动滑块验证等情况时,是优先考虑对象。
- Requests + BeautifulSoup :这对组合堪称 “轻量级摩托”,对于简单登录流程,能快速实现数据抓取。但面对 JavaScript 渲染页面则无能为力。当登录流程简单且目标页面无需处理动态内容时,能提供高效简洁的解决方案。
(二)Java 领域
- HtmlUnit :仿若 “隐匿刺客”,模拟浏览器行为且支持 JavaScript 执行,轻量级特性使其在性能要求高的场合表现出色。不过,面对复杂 JavaScript 可能不如 Selenium 稳定。适合需要处理 JavaScript 渲染,同时对性能有较高要求的场景。
- Jsoup + HttpClient :这是 “基础二人组”,Jsoup 简洁 API 便于解析 HTML 文档,HttpClient 能可靠发送网络请求。但不支持 JavaScript 渲染。在简单的静态网页爬取任务中,能快速完成使命。
- WebMagic :如同 “并发先锋”,支持多线程并发爬取,扩展性良好,能在 Java 环境中高效完成大规模数据爬取。但同样不支持 JavaScript 渲染。
三、Scrapy 深度解读:Python 爬虫的 “王牌特工”
(一)核心架构与组件
采用分层设计,引擎掌控全局数据流,协调各模块默契配合;调度器负责管理请求队列,支持优先级排序与去重操作;下载器异步处理 HTTP 请求,灵活应对代理轮换需求;爬虫定义抓取逻辑,从初始 URL 到数据解析规则一应俱全;管道则负责数据的清洗、验证及最终的持久化存储。中间件机制赋予其强大灵活性,下载器中间件可定制代理池、处理复杂请求头,轻松应对各类反爬策略。
(二)核心优势
异步架构基于 Twisted 引擎,单机每秒可实现数百次请求,效率惊人;模块化扩展性极佳,支持自定义中间件和管道,能够见招拆招,应对各种反爬措施;在企业级应用方面,更是被阿里巴巴、腾讯等互联网巨头用于电商数据采集,历经实战考验。
(三)基础使用流程
安装过程简便,通过 pip install scrapy 即可完成,随后运行 scrapy startproject project_name 快速搭建项目框架。编写爬虫时,继承 scrapy.Spider 类,定义 name、start_urls 等关键属性,利用 css 或 xpath 等选择器高效提取数据。数据导出支持 JSON、CSV 等常见格式,仅需简单命令行参数配置。
(四)高级功能
多页爬取功能强大,CrawlSpider 能自动跟踪分页链接,实现深度数据挖掘;API 抓取轻松处理 JSON/XML 响应,满足多样化数据需求;日志管理系统完善,可灵活配置日志等级与保存路径,便于排查问题、监控爬虫运行状态。
(五)典型应用场景
在数据挖掘领域,可用于电商价格监控,实时掌握市场动态;舆情监测方面,能高效收集网络热点信息,助力企业把握舆论走向;自动化测试场景下,对 Web 应用进行功能验证,保障系统稳定运行。如果想更进一步提升实战能力,可深入研读官方文档,或者参考 CSDN 上丰富的实战案例教程,这些学习资源将为你的爬虫之旅提供强大助力。
相关文章:
浏览器自动化与网络爬虫实战:工具对比与选型指南
浏览器自动化与网络爬虫实战:工具对比与选型指南 摘要 在当今数字化时代,浏览器自动化和网络爬虫技术已成为数据收集与测试的重要工具。本文深入剖析了多种主流浏览器自动化工具和爬虫框架的特点、优缺点及其适用场景,包括 Selenium、Puppe…...
“双非” “退伍” “材料” “学验证” 拿到Dream Offer
大家好,我是2024年路科验证V2X春季班的学员。在春季班的课上完后,觉得自己的基础大部分已经被路科给弥补了,但是很多课程中关于框架的搭建和一些细节还是不够扎实,有所欠缺,于是又重修了秋季班的课程。这两次课程给我的…...
python 上海新闻爬虫, 上观新闻 + 腾讯新闻
1. 起因, 目的: 继续爬上海新闻, 增加新闻来源。昨天写了: 东方网 澎湃新闻今天增加2个来源: 上观新闻 腾讯新闻此时有4个来源,我觉得已经差不多了。 2. 先看效果 3. 过程: 代码 1, 上观新闻 这里也有一个有趣的…...
【LUT技术专题】ECLUT代码解读
目录 原文概要 1. 训练 2. 转表 3. 测试 本文是对ECLUT技术的代码解读,原文解读请看ECLUT。 原文概要 ECLUT通过EC模块增大网络感受野,提升超分效果,实现SRLUT的改进,主要是2个创新点: 提出了一个扩展卷积&…...
Wsl2 网络模式介绍
每个模式说明参考下面连接 使用 WSL 访问网络应用程序 | Microsoft Learn...
项目高压生存指南:科学重构身体与认知系统的抗压算法
引言:压力重构的工程学思维 在项目管理的高压熔炉中,优秀从业者与普通执行者的核心差异不在于抗压能力的高低,而在于是否掌握压力管理的系统化算法。本文摒弃传统的鸡汤式减压建议,从人体工程学、神经科学和认知心理学角度&#…...
Java设计模式之工厂方法模式:从入门到精通
1. 工厂方法模式概述 1.1 定义与核心思想 工厂方法模式(Factory Method Pattern) **定义:**是一种创建型设计模式,它定义了一个用于创建对象的接口,但让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。 **核心思想:**工厂模式的核心思想是将对象的创建…...
生成自定义的androidjar文件具体操作
在Androidsdk目录下的platform找到对应的api的android源码包路径,如android-32拷贝里面的android.jar文件到目录,如 C:\Users\xxxxxxx\Desktop\android\new_android_jar,然后解压android.jar到目录new_android_jar下。在编译后的aosp源码中找…...
在一台CentOS服务器上开启多个MySQL服务
1. 创建目录 mkdir -p /data/mysql3307/{data,tmp,logs} # 赋权 chown -R mysql:mysql /data/mysql3307 chmod -R 750 /data/mysql3307 2.修改 /etc/my.cnf ,添加[mysqld3307]实例配置组 [mysqld3307] # MySQL服务的端口 port 3307 # 套接字文件存放路径 socket /…...
相机的方向和位置
如何更好的控制相机按照我们需要来更好的观察我们需要的地貌呢? 使用 // setview瞬间到达指定位置,视角//生成position是天安门的位置var position Cesium.Cartesian3.fromDegrees(116.397428,39.90923,100)viewer.camera.setView({//指定相机位置destination: position, 在…...
云原生架构下的微服务通信机制演进与实践
📝个人主页🌹:慌ZHANG-CSDN博客 🌹🌹期待您的关注 🌹🌹 一、引言:通信机制是微服务架构的基础 随着软件系统复杂度的提升,“单体架构 → 微服务架构 → 云原生架构”逐步成为企业数字化转型的演进主线。而在微服务架构中,“服务间通信机制”决定了系统的稳定性…...
Git标签删除脚本解析与实践:轻松管理本地与远程标签
Git 标签删除脚本解析与实践:轻松管理本地与远程标签 在 Git 版本控制系统中,标签常用于标记重要的版本节点,方便追溯和管理项目的不同阶段。随着项目的推进,一些旧标签可能不再需要,此时就需要对它们进行清理。本文将通过一个完整的脚本,详细介绍如何删除本地和远程的 …...
5G让媒体传播更快更智能——技术赋能内容新时代
5G让媒体传播更快更智能——技术赋能内容新时代 在5G时代,媒体传播已经不再是传统的“电视纸媒网站”模式,而是演变成超低延迟、高速传输、智能交互的全新生态。无论是直播、短视频、VR/AR内容还是AI驱动的个性化推荐,5G的高速连接能力都在让…...
数字IC前端学习笔记:锁存器的综合
相关阅读 数字IC前端专栏https://blog.csdn.net/weixin_45791458/category_12173698.html?spm1001.2014.3001.5482 锁存器是一种时序逻辑,与寄存器相比面积更小,但它的存在会使静态时序分析(STA)变得更加复杂,因此懂得什么样的设计会综合出…...
Spring Boot快速开发:从零开始搭建一个企业级应用
Spring Boot快速开发:从零开始搭建一个企业级应用 在当今的软件开发领域,Spring Boot已经成为构建企业级应用的首选框架之一。它不仅简化了Spring应用的初始搭建以及开发过程,还提供了许多开箱即用的功能,使得开发者能够快速地构…...
ATH12K驱动框架架构图
ATH12K驱动框架架构图 ATH12K驱动框架架构图(分层描述)I. 顶层架构II. 核心数据结构层次关系III. 主要模块详解1. 核心模块 (Core)2. 硬件抽象层 (HAL)3. 无线管理接口 (WMI)4. 主机目标通信 (HTC)5. 复制引擎 (CE)6. MAC层7. 数据路径 (DP)IV. 关键数据流路径1. 发送数据流 …...
数字信号处理|| 离散序列的基本运算
一、实验目的 (1)进一步了解离散时间序列时域的基本运算。 (2)了解MATLAB语言进行离散序列运算的常用函数,掌握离散序列运算程序的编写方法。 二、实验涉及的MATLAB子函数 (1)find 功能:寻找非零元素的索…...
集成管理工具Gitlab
GitLab 是一个功能强大的开源代码托管和协作平台,集成 GitLab 可以显著提升团队的开发效率。下面我将为你介绍如何集成 GitLab,包括安装配置和基本使用流程。 一、GitLab 安装与配置 GitLab 有多种安装方式,推荐使用官方 Omnibus 包安装&am…...
2025 年数维杯数学建模 C 题完整论文代码模型:清明时节雨纷纷,何处踏青不误春
《2025 年数维杯数学建模 C 题完整论文代码模型》 C题完整论文 一、问题重述 1.1 问题背景 2025 年第十届数维杯大学生数学建模挑战赛 C 题,将我们带入“清明时节雨纷纷,何处踏青不误春”的诗意情境。清明节,这个处于每年 4 月 4 日至 6 …...
2025数维杯数学建模C题完整限量论文:清明时节雨纷纷,何处踏青不误春?
2025数维杯数学建模C题完整限量论文:清明时节雨纷纷,何处踏青不误春? 清明节,在每年 4 月 4 日至 6 日之间,既是自然节气,也是我国重要 的传统节日,承载着中华民族千年的文化记忆与情感寄托。此…...
POSE识别 神经网络
Pose 识别模型介绍 Pose 识别是计算机视觉领域的一个重要研究方向,其目标是从图像或视频中检测出人体的关键点位置,从而估计出人体的姿态。这项技术在许多领域都有广泛的应用,如动作捕捉、人机交互、体育分析、安防监控等。 Pose 识别模型的…...
Missashe高数强化学习笔记(随时更新)
Missashe高数强化学习笔记 说明:这篇笔记用于博主对高数强化课所学进行记录和总结。由于部分内容写在博主的日记博客里,所以博主会不定期将其重新copy到本篇笔记里。 第一章 函数极限连续 第二章 一元函数微分学 第三章 一元函数积分学 第一节 不定…...
如何从极狐GitLab 容器镜像库中删除容器镜像?
极狐GitLab 是 GitLab 在中国的发行版,关于中文参考文档和资料有: 极狐GitLab 中文文档极狐GitLab 中文论坛极狐GitLab 官网 从容器镜像库中删除容器镜像 (BASIC ALL) 您可以从您的容器镜像库中删除容器镜像。 要基于特定标准自动删除容器镜像&#x…...
出现在‘{‘的段错误
今天在运行程序时,程序因段错误退出了,于是使用gdb调试。 部分输出如下: [New Thread 0x7fffc88be6c0 (LWP 47902)] [New Thread 0x7fffc80bd6c0 (LWP 47903)] [New Thread 0x7…...
【C++设计模式之Observer观察者模式】
Observer观察者模式 模式定义动机(Motivation)结构(Structure)应用场景一(气象站)实现步骤1.定义观察者接口2.定义被观察者(主题)接口3.实现具体被观察者对象(气象站)4.实现具体观察者(例如:显示屏)5.main.cpp中使用示例6.输出结果7. 关键点 …...
【软件测试】测试用例的概念与常见测试的模型
目录 一、测试用例的概念 1.1 什么是测试用例 1.2 编写测试用例的目的 1.3 用例设计的编写格式 二、模型 2.1 质量模型 2.2 测试模型 2.2.1 瀑布模型 2.2.2 螺旋模型 2.2.3 V 模型 2.2.4 W模型 2.2.5 增量、迭代模型 2.2.6 敏捷模型 2.2.6.1 敏捷宣言 2.2.6.2 Sc…...
OpenCV的 ccalib 模块用于自定义标定板的检测和处理类cv::ccalib::CustomPattern()----函数calibrate
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 cv::ccalib::CustomPattern 是OpenCV的 ccalib 模块中的一个类,主要用于自定义标定板的检测和处理。这个模块提供了比传统的 calib3d…...
高效管理钉钉收款单数据集成到MySQL的技术方案
钉钉数据集成到MySQL的技术案例分享:dd-收款单-->mysql(鸿巢)收款单(其他收款) 在企业日常运营中,数据的高效管理和实时处理至关重要。本文将聚焦于一个具体的系统对接集成案例:如何将钉钉平…...
介质访问控制(MAC)
介质访问控制(MAC)详解 介质访问控制(Medium Access Control, MAC)是数据链路层的核心子层,负责解决多个设备共享同一通信介质时的冲突问题。它的核心目标是:在广播或多路访问网络中,确保数据有…...
在Mac M1/M2上使用Hugging Face Transformers进行中文文本分类(完整指南)
在Mac M1/M2上使用Hugging Face Transformers进行中文文本分类(完整指南) 前言 随着Apple Silicon芯片(M1/M2)的普及,越来越多的开发者希望在Mac上运行深度学习任务。本文将详细介绍如何在Mac M1/M2设备上使用Huggin…...
企业如何将钉钉付款单高效集成到金蝶云星空?
钉钉数据集成到金蝶云星空:修改下推的付款单③ 在企业信息化系统中,数据的高效流转和准确对接是实现业务流程自动化的关键。本文将分享一个实际案例,展示如何通过轻易云数据集成平台,将钉钉中的付款单数据无缝集成到金蝶云星空系…...
软件确认报告:审查功能、评估标准及推动软件稳定高效运行
软件确认报告的主要任务是严格审查软件的各项功能,以此为基础,为精确评估其是否满足标准提供依据,并推动软件实现稳定与高效的运行。具体来说,报告将从目的、背景、所依据的资料、采用的测试手段以及最终的测试成效等几个方面进行…...
Github 热点项目 Cursor开源代替,AI代理+可视化编程!支持本地部署的隐私友好型开发神器。
Void编辑器今天必须拥有姓名!作为总星数近1.5万的顶流开源工具,它用三大绝活圈粉无数:① 隐私党狂喜!所有AI对话直连模型商,你的代码数据绝不留在别人服务器;② 自带时光机功能,AI修改代码时自动…...
影像超分——从低清到高清的跨越密码
在数字时代,影像超分技术宛如魔法般存在,它能让老旧模糊的照片焕发新生但目前面临着高计算量、稳定性不足,压缩与量化误差影响大,退化模型的估计难度高等痛点与挑战,本文将围绕影像超分的工作技术原理、应用场景等展开…...
Vue项目---懒加载的应用
懒加载 介绍原理展示详细解析模版部分脚本部分数据和变量IntersectionObserver加载更多数据生命周期钩子 代码Mock数据前端代码 介绍 懒加载(Lazy Loading)是一种常见的前端优化技术,用于延迟加载页面上的资源(如图片、视频、组件…...
前端自学入门:HTML 基础详解与学习路线指引
在互联网的浪潮中,前端开发如同构建数字世界的基石,而 HTML 则是前端开发的 “入场券”。对于许多渴望踏入前端领域的初学者而言,HTML 入门是首要挑战。本指南将以清晰易懂的方式,带大家深入了解 HTML 基础,并梳理前端…...
机器学习 期末考试题
自测试卷1 一、选择题 1.下面关于数据分析说法正确的是( )。 A.数据分析是数学、统计学理论结合科学的统计分析方法 B.数据分析是一种数学分析方法 C.数据分析是统计学分析方法 D.数据分析是大数据分析方法 2.下面不是数据分析方法的是( )。 A.同比分析 B.环比分析…...
BP神经网络
一、BP 神经网络概述 BP(Back Propagation)神经网络是一种按照误差逆向传播算法训练的多层前馈神经网络,它是目前应用最广泛的神经网络模型之一。BP 神经网络由输入层、隐藏层和输出层组成,隐藏层可以有一层或多层。其学习过程由正…...
使用 NSSM 安装 Tomcat 11.0.6 为 Windows 服务
步骤 1:下载 NSSM 访问 NSSM 的官方网站:NSSM Download 下载适合您系统的版本(通常是 nssm-<version>-win64.zip 或 nssm-<version>-win32.zip)。 解压下载的文件。 步骤 2:将 NSSM 移动到 Tomcat 目录…...
拉西坦类促智药物的异同
吡拉西坦及其主要同类药物的深度研究报告 以下表格总结了本报告所讨论的主要拉西坦类药物的关键特性,以便进行直接比较。 表1:主要拉西坦类药物特性比较 特性 吡拉西坦 (Piracetam) 阿尼西坦 (Aniracetam) 奥拉西坦 (Oxiracetam) 普拉西坦 (Pramir…...
高级可视化图表分析实践——以《大侠立志传》武器系统为例
高级可视化图表分析实践——以《大侠立志传》武器系统为例 引言武器类型分布矩形树图结论 不同品质/类别武器的攻击力分布情况蜂群图分析结论 武器来源桑基图分析结论 武器附加属性词云图分析结论 不同品级武器装备熟练度要求/特质要求离散热力图结论品质与熟练度的正相关性品质…...
HT71663同步升压2.7V-13V输入10A聚能芯半导体禾润一级代理
在便携式设备飞速发展的今天,电源转换效率与产品尺寸始终是行业难以平衡的难题。但现在,HT71663 高功率全集成升压转换器强势登场,一举打破僵局,为便携式系统带来颠覆性的高效小尺寸解决方案! HT71663 的卓越性能&am…...
3D桌面可视化开发平台HOOPS Native Platform,如何实现3D系统快速开发与部署?
无论是制造、工程还是软件行业,高效的3D应用开发能力都直接影响着产品创新、客户体验和市场响应速度。HOOPS技术,凭借领先的技术实力和广泛的行业应用,正成为推动企业数字化转型、驱动业务增长的核心引擎。本文将深入解析HOOPS技术的优势&…...
DeepResearch深度搜索实现方法调研
DeepResearch深度搜索实现方法调研 Deep Research 有三个核心能力 能力一:自主规划解决问题的搜索路径(生成子问题,queries,检索)能力二:在探索路径时动态调整搜索方向(刘亦菲最好的一部电影是…...
使用Python删除PDF中多余或空白的页面
目录 为什么需要删除 PDF 中的多余或空白页面? 所需工具 环境准备 如何使用Python删除PDF中的多余页面 实现思路 详细实现步骤 实现代码 如何使用Python检测并删除PDF中的空白页 实现思路 详细实现步骤 实现代码 在处理 PDF 文件时,常常会遇到…...
什么是分布式光伏系统?屋顶分布式光伏如何并网?
政策窗口倒计时!分布式光伏如何破局而立? 2025年,中国分布式光伏行业迎来关键转折: ▸ "430"落幕——抢装潮收官,但考验才刚开始; ▸ "531"生死线——新增项目全面市场化交易启动&…...
MySQL——七、索引
优势:极高查询效率;极高排序效率 劣势:占用磁盘空间;降低更新表的速度(可忽略,磁盘相对便宜;增删改比例较小) 索引结构 MYSQL的索引是在存储引擎层实现的,不同的存储引…...
LVGL的核心:lv_timer_handler
文章目录 🧠 一句话总结 LVGL 的运行核心:🔁 1. while(1) 主循环中的 lv_task_handler()⏱️ 2. lv_timer_handler() 定时器调度核心✅ 并发控制✅ 关键行为流程:🌀 任务执行逻辑:🧮 计算下一次…...
LLM量化方法:ZeroQuant、LLM.int8()、SmoothQuant、GPTQ、AWQ
文章目录 TLDR;量化分类量化时机量化粒度ZeroQuant: Efficient and Affordable Post-Training Quantization for Large-Scale Transformers细粒度硬件感知量化低成本逐层知识蒸馏(Layer-by-layer Knowledge Distillation, LKD) LLM.int8(): 8-bit Matrix…...
数据结构 集合类与复杂度
文章目录 📕1. 集合类📕2. 时间复杂度✏️2.1 时间复杂度✏️2.2 大O渐进表示法✏️2.3 常见的时间复杂度量级✏️2.4 常见时间复杂度计算举例 📕3. 空间复杂度 📕1. 集合类 Java 集合框架(Java Collection Framework…...