目录
一、认识scrapy
1.简介
scrapy是一个为遍历爬行网站、分解获取数据而设计的应用程序框架,它可以应用在广泛领域:数据挖掘、信息处理和或者历史片(历史记录)打包等等。(来自百度百科)
2.框架架构图
各个模块解释:
1).Scrapy Engine(引擎):整个框架的核心,负责通讯,信号,数据流传输。
2).Scheduler(调度器):用来接受引擎发送过来的请求,相当于url(网址)的优先队列,他来决定爬取的地址是什么,同时去除重复的网址。
3).Downloader(下载器):负责下载request请求并将response相应交还给引擎,再由引擎交给爬虫spider。
4).Spider(爬虫):处理response,分析、提取数据,获取item所需要的字段,并将需要再次爬取的url提交给引擎,再次进行爬取。
5).Item Pipeline(管道):处理spider从网页中获取到的数据实体。
3.运作流程
1).引擎询问spider处理哪个url?
2).spider提交url
3).引擎找到调度器,拿到处理requests请求url,然后再给到引擎
4).引擎找到下载器,下载requests请求,(如果失败,引擎告诉调度器记录稍后处理)
5).引擎找到spider,将下载好的数据交给spider处理
6).spider拿到response数据,分两步:(1)返回给管道处理数据(2)重复第2步,知道url提交处理完毕
注意:只有调度器中不存在任何request请求了,程序才算执行完毕。
4.新建scrapy爬虫的大致思想
1).新建项目:(scrapy startproject xxx)
2).明确目标:我要爬取哪个网站(url),我要的实体字段是什么(编写item文件)
3).制作爬虫:spiders文件夹下创建爬虫(spiders/xxspider.py)
4).存储内容:(pipeline.py)设计管道爬取内容
5.补充(安装scrapy)
确保已经安装了pip(Python包管理工具),执行命令:
sudo pip install scrapy
安装成功之后,输入命令:
scrapy version
可查看版本号。
如安装过程