搜索
您的当前位置:首页PythonScrapy项目创建(基础普及篇)

PythonScrapy项目创建(基础普及篇)

来源:飒榕旅游知识分享网
PythonScrapy项⽬创建(基础普及篇)

在使⽤Scrapy开发爬⾍时,通常需要创建⼀个Scrapy项⽬。通过如下命令即可创建 Scrapy 项⽬: scrapy startproject ZhipinSpider

在上⾯命令中,scrapy 是Scrapy 框架提供的命令;startproject 是 scrapy 的⼦命令,专门⽤于创建项⽬;ZhipinSpider 就是要创建的项⽬名。

scrapy 除提供 startproject ⼦命令之外,它还提供了 fetch(从指定 URL 获取响应)、genspider(⽣成蜘蛛)、shell(启动交互式控制台)、version(查看 Scrapy 版本)等常⽤的⼦命令。可以直接输⼊ scrapy 来查看该命令所⽀持的全部⼦命令。

1、运⾏上⾯命令,将会看到如下输出结果(正常):

New Scrapy project 'ZhipinSpider', using template directory 'd:\\python3.6\\lib\\site-packages\\scrapy\emplates\\project', created in: C:\\Users\\mengma\\ZhipinSpider

You can start your first spider with: cd ZhipinSpider

scrapy genspider example example.com

View Code

上⾯信息显⽰ Scrapy 在当前⽬录下创建了⼀个 ZhipinSpider 项⽬,此时在当前⽬录下就可以看到⼀个 ZhipinSpider ⽬录,该⽬录就代表ZhipinSpider 项⽬。

2、运⾏上⾯命令,将会看到如下输出结果(异常):

Fatal error in launcher: Unable to create process using '\"'

  解决⽅法:

python -m scrapy startproject XXXX

View Code

查看 ZhipinSpider 项⽬,可以看到如下⽂件结构:

ZhipinSpider │ scrapy.cfg │

└──ZhipinSpider │ item.py

│ middlewares.py │ pipelines.py │ setting.py │

├─ spiders

│ │ __init__.py │ │

│ └─ __pycache__ └─ __pycache__

下⾯⼤致介绍这些⽬录和⽂件的作⽤:

scrapy.cfg:项⽬的总配置⽂件,通常⽆须修改。

ZhipinSpider:项⽬的 模块,程序将从此处导⼊ Python 代码。

ZhipinSpider/items.py:⽤于定义项⽬⽤到的 Item 类。Item 类就是⼀个 DTO(数据传输对象),通常就是定义 N 个属性,该类需要由开发者来定义。

ZhipinSpider/pipelines.py:项⽬的管道⽂件,它负责处理爬取到的信息。该⽂件需要由开发者编写。ZhipinSpider/settings.py:项⽬的配置⽂件,在该⽂件中进⾏项⽬相关配置。

ZhipinSpider/spiders:在该⽬录下存放项⽬所需的蜘蛛,蜘蛛负责抓取项⽬感兴趣的信息。  为了更好地理解 Scrapy 项⽬中各组件的作⽤,下⾯给出 Scrapy 概览图,如图 1 所⽰。

图 1 Scrapy 概览图

在图 1 中可以看到,Scrapy 包含如下核⼼组件:

调度器:该组件由 Scrapy 框架实现,它负责调⽤下载中间件从⽹络上下载资源。

下载器:该组件由 Scrapy 框架实现,它负责从⽹络上下载数据,下载得到的数据会由 Scrapy 引擎⾃动交给蜘蛛。

蜘蛛:该组件由开发者实现,蜘蛛负责从下载数据中提取有效信息。蜘蛛提取到的信息会由 Scrapy 引擎以 Item 对象的形式转交给Pipeline。

Pipeline:该组件由开发者实现,该组件接收到 Item 对象(包含蜘蛛提取的信息)后,可以将这些信息写⼊⽂件或数据库中。经过上⾯分析可知,使⽤ Scrapy 开发⽹络爬⾍主要就是开发两个组件,蜘蛛和 Pipeline。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top