scrapy 框架实践爬虫--思路篇
scrapy 框架实践爬虫–思路篇
1. 写在最开始
最近接触了一下 scrapy 框架 , 决定试用这个框架写一个简单的爬虫。看标题就知道 , 这篇文章主要是了解 scrapy 框架并讲解下爬虫的大致思路 , 过程后续会再开博客进行讲解。
在写爬虫之前 , 需要知道一下 , 这个爬虫要做什么事情。简单来说就做了以下三件事:
1、爬取目标网页
2、从网页中提取所需数据
3、存放于本地数据库中
2. 所需工具
1、MySQL 数据库
2、python3
3、scrapy
各种工具的安装不再赘述 , 本篇也主要是讲解下思路。
3. scrapy
3.1 介绍
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 个分站。
先爬取首页 , 获取各个分站网站 , 再从分站网页中获取到具体小说的详细地址。之后就可以根据自己的需求获取到具体信息。