python爬虫自学宝典——创建scrapy项目和项目框架介绍
在使用爬虫前,需要创建一个爬虫项目。创建爬虫项目其实很简单,可以直接利用scrapy自带的工具。
首先,打开dos窗口,用cd/d 命令定位到想要创建项目的位置。
然后在命令行窗口输入如下命令:
scrapy startproject demo
上述命令创建了一个以demo命名的项目,键入命令成功后,命令行会出现如下字段。
You can start your first spider with:
cd demo
scrapy genspider example example.com
阅读字段,提示你可以开始爬虫项目了。
然后打开你的项目文档,会看见如下目录结构:
下面大致介绍一下这些目录和文件的作用:
- 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概览图:
scrapy包括如下核心组件,下面一一介绍核心部件功能: - scheduler:调度器,该组件由scrapy框架实现,负责调用中间件从网络上下载资源。
- downloader:下载器,该组件由Scrapy框架实现,负责从网络上下载数据,下载得到的数据会由scrapy引擎自动交给蜘蛛。
- spiders:蜘蛛,也就是爬虫,提供给开发者实现,负责从下载的数据中提取有效的信息。蜘蛛提取到的信息会有scrapy引擎以item对象的形式转交给pipeline。
- pipeline:该组件由开发者实现,该组件收到的item对象(包含蜘蛛提取的信息)后,可以将这些信息写入文件或者数据库中。
经过上面分析可知,使用scrapy开发网络爬虫主要就是开发两个组件:spiders,item pipeline。