文章目录
第十一章 Python第三方库纵览
11.1 网络爬虫方向
网络爬虫是自动进行HTTP访问并捕获HTML页面的程序。Python语言提供了多个具备网络爬虫功能的第三方库。这里介绍两个常用的Python网络爬虫库:requests和scrapy。
11.1.1 requests
requests库是一个简洁且简单的处理HTTP请求的第三方库,其最大优点是程序编写过程更接近正常URL访问过程。这个库建立在Python语言的urllib3库基础上。
requests库支持非常丰富的链接访问功能,包括国际域名和URL获取、HTTP长连接和连接缓存、HTTP会话和cookie保存、浏览器使用风格的SSL验证、基本的摘要认证、有效的键值对cookie记录、自动解压缩、自动内容解码、文件分块上传、HTTP(S)代理功能、连接超时处理、流数据下载等。
安装requests库方法如下:
pip install requests
requests库常用的函数如下:
函数 | 描述 |
---|---|
requests.request() | 构造一个请求,支撑一下个方法的基础方法 |
requests.get() | 获取HTML网页的主要方法,对应于HTTP的GET |
requests.head() | 获取HTML网页头信息的方法,对应于HTTP的HEAD |
requests.post() | 向HTML网页提交POST请求方法,对应于HTTP的POST |
requests.put() | 向HTML网页提交PUT请求方法,对应于HTTTP的PUT |
requests.patch() | 向HTML网页提交局部修改请求,对应于HTTP的PATCH |
requests.delete() | 向HTML页面提交删除请求,对应于HTTP的DELETE |
11.1.2 scrapy
scrapy是Python开发的一个快速、高层次的Web获取框架。不同于简单的网络爬虫功能,scrapy本身包含了成熟网络爬虫习题所应该具有的部分共用功能。
scrapy用途广泛,可以应用于专业爬虫系统的构建、数据挖掘、网络监控和自动化测试等领域、
scrapy提供URL队列、异步多线程访问、丁氏防务、数据库集成等众多功能,给予她构建的爬虫系统可以7x24运行,具备产品级运行能力。
安装scrapy库方法如下:
pip install scrapy
11.2 数据分析方向
数据分析是Python的一个优势方向,具有大批量高质量的第三方库。这里介绍三个常用的生态库:numpy、scipy和pandas。
11.2.1 numpy
numpy是Python的一种开源数值计算扩展第三方库,用于处理数据类型相同的多维数组(ndarray),简称“数组”。这个库可用来存储和处理大型矩阵,比Python语言提供的列表结构要高效的多。numpy提供了许多高级的数值编程工具,如:矩阵运算、矢量处理、N维数据变换等。
numpy内部是C语言编写,对外采用了Python语言进行封装,因此,在进行数据运算时,基于numpy的Python程序可以达到接近C语言的处理速度。numpy也成为Python数据分析方向各其他库的基础依赖库,已经成了学科计算事实上的“标准库”。
安装numpy库方法如下:
pip install numpy
11.2.2 scipy
scipy是一款方便、易于使用、专为科学和工程设计的Python工具包。它是在numpy库的基础上增加了众多数学、科学以及工程计算中常用的库函数。它包括统计、优化、整合、线性代数、傅里叶变换、信号分析、图像处理、常微分方程求解等众多模块。
安装scipy库方法如下:
pip install scipy
11.2.3 pandas
pandas是基于numpy扩展的一个重要第三方库,它是为了解决数据分析任务而创建的。pandas提供了一批标准的数据模型和大量快速处理数据的函数和方法,提供了高效的操作大型数据集所需的工具。
pandas提供了两种最基本的数据类型:Series和DataFrame,分别代表一维数组和二维数组类型。
安装pandas库方法如下:
pip install pandas
11.3 文本处理方向
Python语言非常适合处理文本,因此,在这个方向也形成了大量有价值的第三方库。这里介绍四个常用的生态库:pdfminer、openpyxl、python-docx和beautifulsoup4.
11.3.1 pdfminer
pdfminer是一个可以从PDF文档中提取各类信息的第三方库。与其他PDF相关的工具不同,他能够完全获取并分析PDF的文本数据。pdfminer