《零基础学 Python 网络爬虫(升级版)》从学习与应用的角度出发,帮助读者快速掌握网络爬虫的各项技能。全书共 15 章,包括初识网络爬虫、请求模块 Urllib、请求模块 requests、高级网络请求模块、正则表达式、XPath 解析、解析数据的 Beautiful Soup 模块、多线程与多进程爬虫、数据处理与存储、App 抓包工具、识别验证码、Scrapy 爬虫框架、爬取编程 e 学网视频、爬取某网站的手机数据, 以及爬取北、上、广、深租房信息。书中所有知识都结合具体实例进行讲解,设计的程序代码给出了详细的注释,可以使读者轻松领会 Python 网络爬虫程序开发的精髓,快速提高开发技能。
书网合一——扫描书中的二维码,学习线上视频课程及拓展内容
源码提供——配套资源包提供书中实例源码
AI 辅助编程——独家微视频课程。
全彩印刷——还原真实开发环境,让编程学习更轻松
作者答疑——每本书均配有“读者服务”微信群,作者会在群里解答读者的问题
海量资源——配有实例源码文件、PPT 课件、Python 网络爬虫专属魔卡等,即查即练,方便拓展学习
明日科技是一家专业从事软件开发、教育培训以及软件开发教育资源整合的高科技公司。其编写的教程既注重选取软件开发中的必需、常用内容,又注重内容的易学易用以及相关知识的拓展,深受读者喜爱。同时,其编写的教程多次荣获"全行业优秀畅销品种”"中国大学出版社图书奖优秀畅销书”等奖项,多个品种长期位居同类图书销售排行榜的前列。
编写背景
当今时代,数据无处不在,我们在互联网、经济、金融、气象等诸多领域都能见到时间序列数据的身影。有效分析这些随时间变化的数据样本,提炼有价值的信息,不仅有助于企业和机构的决策优化,而且对科学研究和技术创新具有重要意义。近年来,由于数据量的增加、计算能力的提升、学习算法的成熟以及应用场景的多样化,人工智能技术(如机器学习)逐渐普及并取得了显著的成果,越来越多的人开始关注这个充满潜力的研究领域。ChatGPT等大语言模型亦掀起一波新的人工智能热潮。正因如此,我们决定着手编写一本关于时间序列分析与机器学习的图书,希望它能作为广大读者的理论指南和实践参考。我们在腾讯工作期间相识,参与过许多一线机器学习项目,其中不少与时间序列相关,如异常检测、预测、根因定位等。我们在工作之余总结了不少这方面的技术帖子,陆续发表在知乎(数学人生/曲奇)上,访问量颇高。电子工业出版社的张爽老师联系到我们,希望能够将帖子编写成书,并给予了很多意见,在此感谢她的支持。尽管如此,我们仍然低估了编写图书所面临的困难。一方面,机器学习和深度学习技术的发展非常迅速,我们的认知也在提升和更新,担心写作的内容是否已经过时。另一方面,由于日常工作相当繁重,我们很难抽出连续的时间全身心地专注于写作。因此,本书的创作是颇为艰辛的。
国内外已出版了许多关于时间序列分析和机器学习的图书,它们各自都支撑起一个庞大的学科,与诸多经典图书比起来,本书显得颇为拙劣。理想中,著书立说的前提是要构建起一个完整的知识体系,该体系能容纳新老技术。我们希望能够借助自身的经验和专业知识,对这一领域进行系统的梳理和总结。写作本书的过程也促使我们更加深入地理解时间序列分析和机器学习。
内容概要
本书内容由8 章组成。
第1 章“时间序列概述”:介绍时间序列分析的基础知识、发展历程、应用现状、分类及其与其他领域(如自然语言处理、计算机视觉等)的关联。
第2 章“时间序列的信息提取”:介绍特征工程的核心概念及其在时间序列分析中的应用,比如对原始数据进行归一化、缺失值填充等转换;以及如何通过特征工程从时间序列数据中提取有用的特征,例如时间序列的统计特征、熵特征和降维特征等,以及如何判断时间序列的单调性。
第3 章“时间序列预测”:介绍常用的时间序列预测方法,包括自回归模型、移动平均模型、自回归差分移动平均模型、指数平滑方法、Prophet,以及神经网络,例如循环神经网络、长短期记忆网络、Transformer、Informer 等。
第4 章“时间序列异常检测”:介绍时间序列异常检测算法的技术与框架,如何识别异常的时间点,包括基于概率密度的方法(如3-Sigma、核密度估计)、基于重构的方法(如变分自编码器、Donut)、基于距离的方法(如孤立森林、RRCF)、基于有监督的方法和基于弱监督的方法等。
第5 章“时间序列的相似度与聚类”:介绍时间序列的相似性度量方法,如欧氏距离、动态时间规整算法等,用于衡量两个或多个时间序列在形状和模式上的相似程度;聚类算法,如K-Means、DBSCAN等,可以将相似的时间序列分组,以便进一步理解时间序列数据中的结构和模式。
第6 章“多维时间序列”:介绍多维时间序列在广告分析和业务运维领域的应用,包括如何利用OLAP 技术对多维时间序列进行有效处理,以及如何通过根因分析技术获得导致故障的维度和元素,包括基于时间序列异常检测算法的根因分析、基于熵的根因分析、基于树模型的根因分析、规则学习等。
第7 章“智能运维的应用场景”:介绍智能运维领域的应用,包括指标监控、容量预估、弹性伸缩、告警关联、告警收敛和告警系统评估等,以及监控中出现的节假日效应、持续异常等实际情况。
第8 章“金融领域的应用场景”:介绍量化交易的概念、发展历程,如何通过因子挖掘从时间序列数据中提取特征并将其转化为交易策略,以及机器学习在其他金融领域(包括资产定价、资产配置、波动率预测)的应用。
读者定位
本书主要面向以下四类读者群体。
1. 机器学习领域的研究人员
针对机器学习领域的研究人员,本书将深入探讨时间序列相关的各种技术。你将了解到如何将这些技术应用于实际问题中,并且能够深入理解这些方法的工作原理和优劣之处。本书中还引用了大量的参考文献,其中不少来自计算机领域顶级会议,适合作为扩展阅读材料。
2. 时间序列领域的研究人员
本书为时间序列领域的研究人员提供了一个全面的时间序列分析和预测的框架。你将找到最新的研究成果和趋势,以及深入的理论分析。同时,你将看到如何将时间序列方法应用到各种真实场景中,如金融、运维等领域。
3. 工业界从业者
针对工业界的从业者,本书将提供实用的工具和技术,以帮助你更好地处理时间序列数据。你将学习到如何使用不同的模型和算法来预测未来、检测异常、进行聚类等。本书中包含大量的示例和案例研究,可以让你快速地掌握这些技术,并将其应用到你的工作中。
4. 未来想从事时间序列研究的高年级本科生和研究生
本书也适合想要进入时间序列研究领域的高年级本科生和研究生。本书从基础概念开始学习,逐渐深入更复杂的主题,内容深入浅出,实例丰富,可以帮助你理解和掌握时间序列分析的基本技能,并激发你对这个领域的学习和研究兴趣。
总的来说,无论你是初学者,还是有经验的专业人士,本书都将为你提供有价值的知识。我们希望本书能够激发你学习时间序列分析和机器学习的热情,引导你探索这个充满挑战和机会的领域。