scrapy应用

检测系统整体流程架构

架构图

scrapy爬取数据:根据具体的检索信息,比如书名,从互联网(淘宝/拼多多)上爬取信息,并将数据写入kafka。

大数据平台:接受kafka中的数据,借助redis做去重操后将可用数据存储

数据清洗:从大数据平台获取数据并进行分析,图片信息调用第三方接口做检测处理,对有用信息存入到mysql数据库

爬虫技术框架及使用

一,scrapy的架构图及说明



框架图

Spiders(爬虫):

它负责处理所有Responses,从中分析提取数据,获取Item字段需要的数据,并将需要跟进的URL提交给引擎,再次进入Scheduler(调度器)

Engine(引擎):

负责Spider、ItemPipeline、Downloader、Scheduler中间的通讯,信号、数据传递等。

Scheduler(调度器):

它负责接受引擎发送过来的Request请求,并按照一定的方式进行整理排列,入队,当引擎需要时,交还给引擎。

Downloader(下载器):

负责下载Scrapy Engine(引擎)发送的所有Requests请求,并将其获取到的Responses交还给Scrapy Engine(引擎),由引擎交给Spider来处理

ItemPipeline(管道):

它负责处理Spider中获取到的Item,并进行进行后期处理(详细分析、过滤、存储等)的地方.

Downloader Middlewares(下载中间件):

你可以当作是一个可以自定义扩展下载功能的组件。

Spider Middlewares(Spider中间件):

你可以理解为是一个可以自定扩展和操作引擎和Spider中间

二,scrapy的执行流程及说明

流程说明

1,SPIDERS将request发送给ENGIN

2,ENGINE对request不做任何处理发送给SCHEDULER

3,SCHEDULER( url调度器),生成request交给ENGIN

4、ENGINE拿到request,通过MIDDLEWARE进行层层过滤发送给DOWNLOADER

5,DOWNLOADER在网上获取到response数据之后,又经过MIDDLEWARE进行层层过滤发送给ENGIN

6,ENGINE获取到response数据之后,返回给SPIDERS,SPIDERS的parse()方法对获取到的response数据进行处理,解析出items或者requests

7,将解析出来的items或者requests发送给ENGIN

8,ENGIN获取到items或者requests,将items发送给ITEMPIPELINES,将requests发送给SCHEDULER

三,scrapy在淘宝爬虫项目中的使用


整合框架图

1,在spider初始化时将selenium初始化及驱动加载,并做模拟登录

2,调度器将连接拼装好发给通过引擎调起下载中间件从网络获取数据

3,将获取的数据解析后通过pipeline 发送到kafka。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容