Scrapy入门
Scrapy是一个用Python实现的快速、高层次的屏幕抓取和web抓取框架,主要用于抓取web站点并从页面中提取结构化的数据。
安装
pip install scrapy
创建Scrapy项目
使用scrapy startproject
命令创建一个新的Scrapy项目。例如,创建一个名为myproject
的项目:
scrapy startproject myproject
该命令会在当前目录下创建一个名为myproject
的文件夹,其中包含Scrapy项目的所有必要文件和文件夹。
在项目文件夹中,使用scrapy genspider
命令创建一个爬虫。
scrapy genspider example example.com
该命令会在myproject/spiders
目录下创建一个名为example.py
的爬虫文件。
Scrapy的项目结构
Scrapy项目的文件结构通常包括以下几个部分:
scrapy.cfg:项目的配置文件。
myproject/:项目的Python模块,将会从这里引用代码。
items.py:定义爬取结果的数据结构。
middlewares.py:定义下载器中间件和爬虫中间件。
pipelines.py:定义数据处理的管道。
settings.py:项目的全局配置文件。
spiders/:存储爬虫代码的目录。
Scrapy框架的组成
引擎(Engine):控制数据流,触发事务。
调度器(Scheduler):接受请求并将其加入队列,以便之后引擎需要时提供。
下载器(Downloader):下载网页内容,并将内容返回给爬虫。
爬虫(Spider):解析响应并生成提取结果和新的请求。
项目管道(Item Pipeline):处理由爬虫提取出来的数据,如清洗、验证和存储。
下载器中间件(Downloader Middlewares):处理引擎与下载器之间的请求及响应。
爬虫中间件(Spider Middlewares):处理爬虫输入的响应和输出的结果及新的请求。