scrapy框架简单了解

scrapy:是一个遍历爬行网站 ,分析获取数据而设计的应用程序框架,原本设计用于屏幕抓取(网络抓取)也可以用来访问api来提取数据;广泛应用与数据挖掘、信息处理、历史片打包等等。

“5+2”结构

在这里插入图片描述
Engine:不需要用户修改

  • 控制所有模块之间的数据流
  • 根据条件触发事件

Downloader:不需要用户修改

  • 根据请求下载网页

Scheduler:不需要用户修改

  • 对所有爬取请求调度管理

Downloader Middleware:

目的: 实施Engine,Scheduler和Downloader之间进行用户可配置的控制。

功能: 修改、丢弃、新增请求响应

可以编写配置代码,一般用户不对requests或response进行修改,不需要编写配置代码

Spider:

  • 解析Downloader返回的响应(response)
  • 产生爬取项(scraped item)
  • 产生额外的爬去请求(request)

需要用户编写配置代码

Item Pipelines

  • 以流水线方式处理Spider产生的爬取项
  • 由一组操作顺序组成,类似流水线,每一个操作是一个iten pipeline类型
  • 可能操作包括:清理、检验和查重爬取项中的HTML,数据将数据储存到数据库。

需要用户编写配置文件

Spider Middleware:

目的: 对用户和爬取项的再处理

功能: 修改、丢弃、新增请求响应或爬取项

用户可编写配置代码

requests scrapy
网页级爬虫 网站级爬虫
功能库 框架
并发性考虑不足,性能较差 并发性好,性能较高
重点在于页面下载 重点在于爬虫结构
定制灵活 一般定制灵活,深度定制困难
上手简单 入门稍难

爬去大量网页建议采用scrapy框架
小请求爬取,建议requests
周期性,对爬取结果进行积累建议scrapy框架
定制程度高,建议自行搭建框架,requests>scrapy
scrapy命令行
在cmd中输入scrapy -h查看scrapy命令行
在这里插入图片描述

命令 说明 格式
startproject 创建新工程 scrapy startproject < name >[ dir ]
genspider 创建爬虫 scrapy genspider [ options ] < name > < domain >
settings 获得爬虫配置信息 scrapy settings [ options ]
crawl 运行爬虫 scrapy crawl < spider >
list 列出工程中所有爬虫 scrapy list
shell 启动url调试命令行 scrapy shell [ url ]

猜你喜欢

转载自blog.csdn.net/dldl1718/article/details/87349290