Scrapy简介
一种纯python实现的,基于twisted异步爬虫处理框架。优点
基本组件概念
Scrapy主要包含5大核心组件:
- 引擎(scrapy)
- 调度器(Scheduler)
- 下载器(Downloader)
- 爬虫(Spiders)
- 项目管道(Pipeline)
项目实践
开发环境: win10 + python3.6 + scrapy2.4.1
1、项目创建
首先进入CMD命令窗口,输入如下命令:
scrapy startproject xxxx #xxxx代表你要创建的项目名
执行命令后会生成相应的项目文件,如下所示:
各文件结构作用说明:
- spiders目录: 负责存放继承自scrapy的爬虫类。里面主要是用于分析response并提取返回的item或者是下一个URL信息,每个Spider负责处理特定的网站或一些网站。
- _init_.py: 项目的初始化文件。
- items.py: 负责数据模型的建立,类似于实体类。定义我们所要爬取的信息的相关属性。Item对象是种容器,用来保存获取到的数据。
- middlewares.py: 自己定义的中间件。可以定义相关的方法,用以处理蜘蛛的响应输入和请求输出。
- pipelines.py: 负责对spider返回数据的处理。在item被Spider收集之后,就会将数据放入到item pipelines中,在这个组件是一个独立的类,他们接收到item并通过它执行一些行为,同时也会决定item是否能留在pipeline,或者被丢弃。
- settings.py: 负责对整个爬虫的配置。提供了scrapy组件的方法,通过在此文件中的设置可以控制包括核心、插件、pipeline以及Spider组件。常见配置参数
- scrapy.cfg: scrapy基础配置,scrapy项目如何通过scrapy.cfg切换配置文件
2.在item.py文件中定义实体数据
如:
# Define here the models for your scraped items