爬虫抓取网页数据(Python开源爬虫框架:Scrapy架构分析()架构)

优采云 发布时间: 2022-04-13 03:29

  爬虫抓取网页数据(Python开源爬虫框架:Scrapy架构分析()架构)

  Python开源爬虫框架:Scrapy架构分析

  蟒蛇爬虫

  所谓网络爬虫,就是在互联网上到处或有针对性地爬取数据的程序。当然,这种说法不够专业。更专业的描述是爬取特定的网站网页。

  HTML 数据。但是,由于一个网站的页面很多,而且。

  调度器

  调度器

  中间件

  互联网

  物品

  管道

  蜘蛛

  下载器

  刮擦

  引擎

  下载器中间件

  蜘蛛中间件

  绿线是数据流向,首先从初始

  Spider分析的结果有两种:一种是

  将被发送回调度程序;另一个是需要保存的数据,发送到

  URL启动,Scheduler会交给Downloader下载,下载完成后交给Spider输入

  下一步爬取的链接,比如前面分析的下一页的链接,这些东西

  ItemPipeline,即对数据进行后处理(详细

  分析、过滤、存储等)。此外,可以在数据流通道中安装各种中间件,进行必要的处理。

  二、组件

  1、ScrapyEngine

  Scrapy引擎用于控制整个系统的数据处理流程,触发事务处理。有关详细信息,请参阅下面的数据处理流程。

  2、调度器

  Scrapy 引擎在发出请求后返回它们。

  调度程序接受来自 Scrapy 引擎的请求并将它们排队

  3、下载器

  (下载器)

  下载器的主要职责是抓取网页并将网页内容返回给蜘蛛

  (蜘蛛)。

  4、蜘蛛

  爬虫由 Scrapy 用户定义,用于解析网页并爬取指定名称。也就是说,它是用来定义具体的网站获取和解析规则的。

  URL返回的内容类,每个蜘蛛可以处理一个域名或一组域

  蜘蛛的整个爬取过程(周期)如下:

  start_requests() 端

  首先获取第一个URL的初始请求,并在请求返回时调用回调函数。第一个请求是通过调用该方法。该方法默认从start_urls中的Url生成请求,并解析调用回调函数。

  在回调函数中,您可以解析网页响应并返回项目对象和请求对象或两者的迭代。这些请求还将收录一个回调,然后将由 Scrapy 下载,然后使用指定的回调进行处理。

  在回调函数中,您解析 网站 的内容,使用 Xpath 选择器(但您也可以使用 BeautySoup、Ixml 或其他

  您喜欢的任何程序),并生成解析的数据项。

  最后,从蜘蛛返回的项目通常最终在项目管道中。

  5、ItemPipeline

  项目管道的主要职责是处理蜘蛛从网页中提取的项目,他的主要任务是对数据进行澄清、验证和存储。当页面被蜘蛛解析时,它被发送到项目管道,并按几个特定的​​顺序处理数据。每个项目管道的组件都是具有一种简单方法的 Python 类。他们获取项目并执行他们的方法,他们还需要决定是否需要继续进行项目管道中的下一步或将其丢弃。

  项目管道通常执行以下过程:

  清理 HTML 数据

  验证解析的数据(检查项目是否收录必要的字段)

  检查重复数据(如果重复则删除)

  将解析后的数据存入数据库

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线