网页中flash数据抓取(Scrapy整体结构爬取流程及应用框架)
优采云 发布时间: 2022-02-16 00:08网页中flash数据抓取(Scrapy整体结构爬取流程及应用框架)
Scrapy 简介
Scrapy 是一个应用程序框架,用于抓取 网站 数据并提取结构化数据。它可以用于一系列程序,包括数据挖掘、信息处理或存储历史数据。
所谓网络爬虫,就是在互联网上到处或有针对性地爬取数据的程序。当然,这种说法不够专业。更专业的描述是爬取特定网站网页的HTML数据。爬取网页的一般方法是定义一个入口页面,然后一般一个页面会有其他页面的url,所以将从当前页面获取的url加入爬虫的爬取队列,进入新页面后递归. 进行上述操作,其实就是深度遍历或者广度遍历。
Scrapy使用异步网络库Twisted来处理网络通信,架构清晰,中间件接口多样,可以灵活满足各种需求。
整个框架
爬取过程
首先,从入口 URL 开始,Scheduler 会将其交给 Downloader 进行下载。下载后会交给Spider解析。Spider解析出来的结果有两种:一种是需要进一步爬取的链接,比如前面分析的“下载”一页“链接,这些东西是发回给Scheduler的;另一种是需要进一步爬取的数据。需要保存,发送到Item Pipeline,也就是对数据进行后处理(详细分析、过滤、存储等)的地方,另外可以在数据流通道中安装各种中间件来执行必要的数据处理。
抓取数据流
引擎打开一个 网站(打开一个域),找到处理 网站 的蜘蛛并请求蜘蛛抓取第一个 URL。引擎从 Spider 获取第一个要抓取的 URL,并在 Scheduler 中使用 Request 对其进行调度。引擎向调度程序询问下一个要抓取的 URL。调度器将下一个要爬取的URL返回给引擎,引擎通过下载中间件(请求方向)将该URL转发给下载器(Downloader)。页面下载完成后,下载器会为页面生成一个Response,并通过下载中间件(响应方向)发送给引擎。引擎从下载器接收到Response,通过Spider中间件(输入方向)发送给Spider进行处理。Spider 处理 Response 并将爬取的 Item 和(后续)新的 Request 返回给引擎。引擎将爬取的Item(由Spider返回)发送到Item Pipeline,并将Request(由Spider返回)发送给调度程序。重复(从第 2 步开始),直到调度程序中没有更多请求并且引擎关闭 网站。
爬虫相关学习请参考: