一 、scrapy整体框架
1.1 scrapy框架图
1.2 scrapy框架各结构解析
item:保存抓取的内容
spider:定义抓取内容的规则,也是我们主要编辑的文件
pipelines:管道作用,用来定义如何过滤、存储等功能(比如导出到csv或者mysql等功能)
settings:配置例如ITEM_PIPELINES 、图片存储位置等等功能
middlewares:下载器中间件是在引擎及下载器之间的特定钩子(specific hook),处理Downloader传递给引擎的response
1.3 数据流过程
从start_urls 开始,Scheduler 会将其交给 Downloader 进行下载,下载之后会交给 Spider 进行分析,Spider 分析出来的结果有两种:一种是需要进一步抓取的链接,例如之前分析的“下一页”的链接,这些东西会被传回 Scheduler ;另一种是需要保存的数据,它们则被送到 Item Pipeline 那里,那是对数据进行后期处理(详细分析、过滤、存储等)的地方。另外,在数据流动的通道里还可以安装各种中间件,进行必要的处理。
二、 爬取图片过程
2.1 整体介绍
2.1.1 环境
Anocondas+python3.6
2.1.2 创建工程
1、创建hupu这个工程
E:\pgtool>scrapy startproject hupu
2、创建相应的spiders
E:\pgtool>cd hupu##必须是进入到创建的项目中去建spiders
E:\pgtool\hupu>scrapy genspider hp hupu.com ##hp=>生成hp.py ,爬虫名称为hp.py,允许访问的域名为hupu.com
通过爬取http://photo.hupu.com/nba/p35923-1.html网页中一个系列的图片
2.2 配置各组件
2.2.1 item.py
import scrapy class HupuItem(scrapy.Item): # define the fields for your item here like: hupu_pic = scrapy.Field() # images = scrapy.Field() image_paths = scrapy.Field()