Scrapy提供了两种类型的命令:一种必须在scrapy项目中运行,为针对项目的命令,另外一种则属于全局命令。
1、全局命令
(1)startproject命令
语法:scrapy startproject <project_name>
作用:用于创建名为project_name的scrapy项目
(2)settings命令
语法:scrapy settings [optings]
作用:在项目中运行时,该命令将会输出项目的设定值
示例用法:scrapy settings --get BOT_NAME
(3)runspider命令
语法:scrapy runspider <spider_file.py>
作用:在未创建项目的情况下,运行一个编写好的spider模块
(4)shell命令
语法:scrapy shell url
作用:启动shell
(5)fetch命令
语法:scrapy fetch <url>
作用:使用scrapy下载器(downloader)下载给定的url,并将获取到的内容送到标准输出。
说明:该命令以spider下载页面的方式获取页面,如果是在项目中运行,fetch将会使用项目中spider的属性访问,如果是在非项目中运行,则会使用默认scrapy downloader设定。
(6)view命令
语法:scrapy view <url>
作用:在浏览器中打开给定的url,并以scrapy spider获取到的形式展现。
示例用法:scrapy view "https://www.baidu.com"
(7)version命令
语法:scrapy version [-v]
作用:输出scrapy版本
说明:配合-v运行时,此命令会同时输出python、twisted以及平台的信息,方便bug提交。
(8)bench命令
语法:scrapy bench
作用:用于运行benchmark测试,测试scrapy在硬件上的效率。
2、项目命令
(1)crawl命令
语法:scrapy crawl <spider_name>
作用:使用spider_name进行爬取
(2)check命令
语法:scrapy check [-l] <spider>
作用:运行contract检查
(3)list命令
语法:scrapy list
作用:列出当前项目中所有可用的spider,每行输出一个spider
(4)edit命令
语法:scrapy edit spider_name
作用:使用设定的编辑器编辑给定的spider.
(5)parse命令
语法:scrapy parse <url> [options]
作用:获取给定的url并使用相应的spider分析处理
(6)genspider命令
语法:scrapy genspider [-t template] <name> <domain>
作用:在当前项目中创建spider
(7)deplay命令
语法:scrapy deploy [options]
作用:将项目部署到scrapyd服务