《Python网络爬虫技术案例教程》PPT课件(共10单元)八单元爬虫框架Scrapy
46页1、爬虫框架Scrapy本章导读8第章虽然利用前面所学知识也可以实现爬虫的全部流程,但是当遇到需要爬取的网页较多、数据量较大时,使用框架可以让爬虫程序更强大、更高效。本章从网络爬虫框架Scrapy的构成入手,介绍Scrapy的应用方法,包括如何创建项目、修改items脚本、创建spider脚本、修改settings脚本、运行爬虫程序、修改pipelines脚本和定制Middleware等内容。学习目标8第章 理解Scrapy框架的构成。 掌握使用Scrapy框架创建爬虫程序获取所需数据的方法。 能使用Scrapy框架编写爬虫程序爬取网站数据。目录录CONTENT028 . 2 S c r a p y 应应 用018 . 1 S c r a p y 框 架图8-1 Scrapy框架Scrapy是目前Python中使用最广泛的爬虫框架,用于爬取网站数据,提取结构性的数据。简单来说,Scrapy是一个半成品,相关扩展组件多,可配置和可扩展程度非常高,可以帮助用户简单快速地实现一个网络爬虫。Scrapy框架由7个组件构成,如图8-1所示:8 . 1 S c r a p y 框 架组件功能Engin
2、e(引擎)负责处理系统的数据流、触发事务,是整个框架的核心Scheduler(调度器)负责处理所有的Request,并按照一定的方式将其进行整理、排列和入队。此外,Scheduler可以自动去除重复的URL,如果特定Request的URL不需要去重也可以通过设置实现,如POST请求Downloader(下载器)负责下载网页内容Spider负责解析所有的Response,提取Item所需的数据和新的URL。用户可以在一个项目中编写多个Spider,每个负责处理一个特定(或一些)网站Item Pipeline(项目管道)负责处理Item,常见的处理有清理、验证和存储数据等Downloader Middleware(下载中间件)位于Engine和Downloader之间,可以自定义扩展下载功能,如自动更换User-Angent、设置代理IP等Spider Middleware(Spider中间件)位于Engine和Spider之间,可以自定义扩展Engine和Spider间通信的功能8 . 1 S c r a p y 框 架8 . 1 S c r a p y 框 架在Scrapy中由Engi
3、ne控制数据流,其工作的基本步骤如下:(1)Engine从Spider获取初始爬取列表的Request。(5)当网页下载完毕,Downloader生成该网页的Response,并将其通过Downloader Middleware提交给Engine。(2)Engine将要爬取的Request发送给Scheduler,通过Scheduler进行调度。(3)Engine向Scheduler获取下一个要爬取的Request。(4)Engine将Request通过Downloader Middleware发送给Downloader。(9)重复第(2)(8)步,直到Scheduler中没有Request,Engine关闭该爬虫程序,爬取结束。(6)Engine将接收到Response通过Spider Middleware发送给Spider处理。(7)Spider解析响应,提取Item所需的数据和新的URL,并将Item和新的Request通过Spider Middleware提交给Engine。(8)Engine将Item发送给Item Pipeline,将新的Request发送给Schedule
4、r。Python提供scrapy库实现Scrapy爬虫框架,scrapy库不是Python内置的标准库,使用之前需要安装,安装方法与requests库的安装类似(请参考2.3.2节),此处不再赘述。本节以创建BaiduSpider项目为例,介绍使用Scrapy框架编写爬虫程序的过程。8 . 2 S c r a p y 应应 用Scrapy应用scrapy库提供了startproject命令用于创建一个爬虫项目,其语法格式如下:8 . 2 S c r a p y 应应 用8.2.1 创建项目scrapy startproject project_dir(1)project_name:表示创建的爬虫项目名称。(2)project_dir:表示存放爬虫项目的路径。指定该参数后,会在project_dir目录下生成一个名为project_name的文件夹;如果不指定该参数,则将在命令执行路径下生成。Scrapy的命令须通过命令行运行,在PyCharm中,可以通过Terminal窗口来运行。例如,在“D:PycharmProjects第8章”下,创建一个名为“BaiduSpider”的爬虫项目,
5、其过程为:启动Pycharm,在界面的下方单击“Terminal”按钮,然后在打开的Terminal窗口中切换至“D:PycharmProjects第8章”,输入“scrapy startproject BaiduSpider”命令并运行,如图8-2所示。8 . 2 S c r a p y 应应 用8.2.1 创建项目图8-2 创建“BaiduSpider”爬虫项目项目目录结构创建项目后,在“D:PycharmProjects第8章”下会生成一个名为“BaiduSpider”的文件夹,其目录结构见图8-2。其中每个文件的功能如表8-1所示。8 . 2 S c r a p y 应应 用8.2.1 创建项目表8-1 Scrapy爬虫项目的文件功能文 件说 明spiders创建Scrapy项目后自动创建的一个文件夹,用于存放用户编写的spider脚本,每一个脚本都是一个文件_init_.py空文件,将其上级目录变成一个模块items.py定义Item中数据的结构,可以包含多个Itemmiddlewares.py根据需求定义Downloader Middleware和Spider Middle
《《Python网络爬虫技术案例教程》PPT课件(共10单元)八单元爬虫框架Scrapy》由会员sat****105分享,可在线阅读,更多相关《《Python网络爬虫技术案例教程》PPT课件(共10单元)八单元爬虫框架Scrapy》请在金锄头文库上搜索。
城市轨道交通车站空调与通风系统(下篇共上中下3篇)
城市轨道交通车站空调与通风系统(上篇共上中下3篇)
城市轨道交通车站空调与通风系统(中篇共上中下3篇)
金属工艺第3版(中篇共上中下3篇)
金属工艺第3版(下篇共上中下3篇)
金属工艺第3版(上篇共上中下3篇)
电液动换向阀的工作原理分析
动力滑台液压系统分析与故障诊断
换向阀的工作原理认知
动力滑台液压系统工作原理分析
常用气缸和气动控制阀的认知
流量控制阀的特点及应用
中位机能的认知及选择
直动式溢流阀的认知
气源装置和气动辅助元件的认知
液控单向阀的功能认知及应用
机械手气动系统分析
液压千斤顶的工作原理认知
液压缸的类型及特点
利用换向阀的卸荷回路
2024-05-19 5页
2024-05-19 8页
2024-05-19 5页
2024-05-19 7页
2024-05-19 5页
2024-05-19 5页
2024-05-19 14页
2024-05-19 21页
2024-05-19 13页
2024-05-19 15页