scrapy工作流程
Scrapy是一个专业的Web爬虫框架,用Python语言开发,它可以爬取网页,抽取用户需要的内容,它为项目提供了一个架构,可以抓取有关网站,处理抓取到的数据,以及将数据导出为所需的格式。
Scrapy使用Kernel,数据管道,运行时等组件组成,这些组件协调实现一个Web爬虫。
抓取:scrapy分布式爬虫
Scrapy通过HTTP请求从服务器获取指定的网页,它支持多种HTTP方法,包括GET,POST,HEAD,PUT,DELETE等。下载管理器可以处理重定向,HTTP错误,长时间连接,Robot协议等任务。该模块UAFilter(用户代理过滤器)在从网站抓取内容时,可以按照用户代理进行过滤。
结构化文档:
在抓取到网页之后, Scrapy会使用选定的解析器提取相关内容。Scrapy支持主流的XPath和CSS选择器语法,也可以使用正则表达式。
爬虫:
爬虫是Scrapy的核心部分,它负责从start urls读取网页,解析提取数据,以及将数据发送到item pipeline中以便进行处理。爬虫使用CrawlSpider和XMLFeedSpider两种预定义spider,或者根据用户指定的页面来爬取网站,也可以跨网站采集数据。
Item Pipeline:
Item Pipeline将处理从spider抓取到的item,该组件可以将item转换为更有用的格式,再也不会有更新,清理,验证或存储item的需求,只需编写一个item pipeline类,实现指定的方法即可,Scrapy支持多种item pipeline方式,事件处理,存储方式,数据库存取,文件存取,JSON,XML文件及其他等等。
Scheduler:
Scheduler是一个核心组件,大多数Scrapy抓取应用程序使用调度器来跟踪哪些网页被爬取,哪些等待被抓取。Scheduler可以将Request对象发送给引擎,并对得到的响应对象进行处理,调度器可以保存Request的URL,用于下次重新访问的同一网页。
Downloader Middleware:
Downloader middleware是Scrapy的插件系统,可以改变Scrapy如何处理Request和Response。它可以从网页上抓取数据,更改Request的内容,或者改变Response的内容。它还可以更改headers发送给服务器,禁止爬虫抓取指定的URL,使用代理服务器等。
常用任务:
Scrapy可以完成大量常见任务,例如抓取网页,抓取指定页面,抓取文件,抽取结构化文档,抽取数据库,识别垃圾邮件等等。
Scrapy的工作流程就是这样,它从start urls读取网页,解析提取数据,将数据发送到item pipeline中以便进行处理,然后经过多种复杂的任务完成抓取过程。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论