scrapy框架
2018-11-03 本文已影响0人
午夜丶小学徒
一、scrapy简介
scrapy 是一个为了爬取网站数据,提取结构性数据而编写的应用框架,我们只需要实现少量代码,就能够快速的抓
取到数据内容。Scrapy 使用了 Twisted['twɪstɪd](其主要对手是Tornado)异步网络框架来处理网络通讯,可以
加快我们的下载速度,不用自己去实现异步框架,并且包含了各种中间件接口,可以灵活的完成各种需求。
二、scrapy原理
scrapy原理.jpg三、scrapy工作流程
1.首先Spiders(爬虫)将需要发送请求的url(requests)经ScrapyEngine(引擎)交给Scheduler(调度器)。
2.Scheduler(排序,入队)处理后,经ScrapyEngine,DownloaderMiddlewares(可选,主要有User_Agent, Proxy代理)交给Downloader。
3.Downloader向互联网发送请求,并接收下载响应(response)。将响应(response)经ScrapyEngine,SpiderMiddlewares(可选)交给Spiders。
4.Spiders处理response,提取数据并将数据经ScrapyEngine交给ItemPipeline保存(可以是本地,可以是数据库)。
5.提取url重新经ScrapyEngine交给Scheduler进行下一个循环。直到无Url请求程序停止结束。
四、scrapy框架的创建
# 创建项目
- scrapy startproject 项目名
# 创建爬虫
- scrapy genspider 爬虫名 域名
# 项目运行
- scrapy crawl 爬虫名
- scrapy crawl 爬虫名 -o xxx.txt # 指定数据存储为.txt文件
- scrapy crawl 爬虫名 -o xxx.json # 指定数据存储为.json文件
- scrapy crawl 爬虫名 -o xxx.csv # 指定数据存储问.csv文件
五、scrapy爬虫基本步骤
- 创建项目
- 创建爬虫
- 运行爬虫
- 根据需求编写item(定义需要爬取的数据字段)
- 在spiders里面解析数据
- 在管道中处理解析完的数据