python爬虫自学宝典——创建scrapy项目和项目框架介绍

在使用爬虫前,需要创建一个爬虫项目。创建爬虫项目其实很简单,可以直接利用scrapy自带的工具。
首先,打开dos窗口,用cd/d 命令定位到想要创建项目的位置。
然后在命令行窗口输入如下命令:

scrapy startproject demo

上述命令创建了一个以demo命名的项目,键入命令成功后,命令行会出现如下字段。

You can start your first spider with:
cd demo
scrapy genspider example example.com

阅读字段,提示你可以开始爬虫项目了。
然后打开你的项目文档,会看见如下目录结构:
python爬虫自学宝典——创建scrapy项目和项目框架介绍
下面大致介绍一下这些目录和文件的作用:

  • scrapy.cfg:项目的配置文件,一般不需要修改
  • demo目录:项目的python模块,程序将从此处导入python代码。
  • demo/items.py:定义项目用到的item类,item就是一个DTO(数据传输对象,data transfer object),通常就是定义 N个属性,该类需要由开发者来定义。
  • demo/middlewares.py:中间件,由scrapy框架实现,它负责调用下载中间件从网络上下载资源。
  • demo/pipelines.py:项目的管道文件,它负责处理爬取到的信息。该文件需要由开发者编写。
  • demo/settings.py:项目的配置文件,它负责处理爬取到的信息。该文件需要由开发者编写。
  • demo/spiders目录:该目录下存放项目需要的蜘蛛,也就是爬虫,负责从网络上抓取自己感兴趣的信息。
    下面给出scrapy概览图:
    python爬虫自学宝典——创建scrapy项目和项目框架介绍
    scrapy包括如下核心组件,下面一一介绍核心部件功能:
  • scheduler:调度器,该组件由scrapy框架实现,负责调用中间件从网络上下载资源。
  • downloader:下载器,该组件由Scrapy框架实现,负责从网络上下载数据,下载得到的数据会由scrapy引擎自动交给蜘蛛。
  • spiders:蜘蛛,也就是爬虫,提供给开发者实现,负责从下载的数据中提取有效的信息。蜘蛛提取到的信息会有scrapy引擎以item对象的形式转交给pipeline。
  • pipeline:该组件由开发者实现,该组件收到的item对象(包含蜘蛛提取的信息)后,可以将这些信息写入文件或者数据库中。
    经过上面分析可知,使用scrapy开发网络爬虫主要就是开发两个组件:spiders,item pipeline。