scrapy 框架实践爬虫--思路篇

scrapy 框架实践爬虫–思路篇

1. 写在最开始

最近接触了一下 scrapy 框架 , 决定试用这个框架写一个简单的爬虫。看标题就知道 , 这篇文章主要是了解 scrapy 框架并讲解下爬虫的大致思路 , 过程后续会再开博客进行讲解。

在写爬虫之前 , 需要知道一下 , 这个爬虫要做什么事情。简单来说就做了以下三件事:

1、爬取目标网页
2、从网页中提取所需数据
3、存放于本地数据库中

2. 所需工具

1、MySQL 数据库
2、python3
3、scrapy

各种工具的安装不再赘述 , 本篇也主要是讲解下思路。

3. scrapy

3.1 介绍

scrapy 是一个为了爬取网站数据 , 提取机构性数据而编写的应用框架。可以用在数据挖掘信息处理等一系列程序中。

scrapy 整体框架如下

scrapy 框架实践爬虫--思路篇)

主要包括了 5 个组件:

  • Scrapy Engine

    整个框架的核心 , 处理整个系统的数据流 , 协同调度其他组件

  • Scheduler

    接收 Scrapy Engine 发过来的 requests , 压入队列中 , 需要下载页面时 , 从此处取出地址

  • Downloader

    用于下载网页内容

  • Spider

    用于从下载的网页中 , 提取出所需信息

  • ItemPipeline

    将爬虫所提取的信息 , 转化为item 进行存储

scrapy 运行流程如下:

1、Scrapy Engine 从 Scheduler 中取出 request 给 Downloader 进行下载

2、Downloader 下载完成后返回 responses , Scrapy Engine 将 responses 返回给 Spiders 进行解析

3、Spiders 将解析的 item 交给 ItemPipeline 进行处理

4、Spiders 将解析的 url 交给 Scheduler 进行下一轮抓取

4. 爬虫思路

本次爬虫要爬取的网址是 顶点小说

在首页导航栏中可以看到 , 该网站包括首页总共有 11 个分站。

scrapy 框架实践爬虫--思路篇

先爬取首页 , 获取各个分站网站 , 再从分站网页中获取到具体小说的详细地址。之后就可以根据自己的需求获取到具体信息。