使用scrapy是一定需要使用到它的命令工具的,所以熟练掌握会很方便。
查看所有可用的命令了:
scrapy -h
h的意思就是help,这一点与大多数应用的命令是一致的。
如图一共有十五个可用命令,这些命令分为两类:全局命令、项目命令。
全局命令有:startproject、settings、runspider、shell、fetch、view、version。
其余为项目命令。
创建项目命令
scrapy startproject myproject
其中myproject是项目名称。
进入项目目录:
cd myproject
这一点与Linux或者window的命令是一致的。
scrapy genspider [-t template] <name> <domain>
这个命令需要在已经存在的项目中使用。该方法可以使用提前定义好的模板来生成spider。也可以自己创建spider的源码文件。
运行爬虫:
scrapy crawl <spider>
运行contract检查:
scrapy check [-l] <spider>
列出当前项目中所有可用的spider:
scrapy list
使用EDITOR 中设定的编辑器编辑给定的spider:
scrapy edit <spider>
fetch命令:
scrapy fetch <url>
使用Scrapy下载器(downloader)下载给定的URL,并将获取到的内容送到标准输出。
该命令无需项目存在。
View命令:
scrapy view <url>
在浏览器中打开给定的URL,并以Scrapy spider获取到的形式展现。有些时候spider获取到的页面和普通用户看到的并不相同。因此该命令可以用来检查spider所获取到的页面,并确认这是您所期望的。
Shell命令:
scrapy shell [url]
以给定的URL(如果给出)或者空(没有给出URL)启动Scrapy shell。
parse命令:
scrapy parse <url> [options]
获取给定的URL并使用相应的spider分析处理。
如果您提供 --callback
选项,则使用spider的该方法处理,否则使用 parse
。
支持的选项:
--spider=SPIDER
: 跳过自动检测spider并强制使用特定的spider--a NAME=VALUE
: 设置spider的参数(可能被重复)--callback
or-c
: spider中用于解析返回(response)的回调函数--pipelines
: 在pipeline中处理item--rules
or-r
: 使用CrawlSpider
规则来发现用来解析返回(response)的回调函数--noitems
: 不显示爬取到的item--nolinks
: 不显示提取到的链接--nocolour
: 避免使用pygments对输出着色--depth
or-d
: 指定跟进链接请求的层次数(默认: 1)--verbose
or-v
: 显示每个请求的详细信息
settings命令:
scrapy settings [options]
获取Scrapy的设定
runspider命令:
scrapy runspider <spider_file.py>
在未创建项目的情况下,运行一个编写在Python文件中的spider。
version命令:
scrapy version [-v]
输出Scrapy版本。配合 -v
运行时,该命令同时输出Python, Twisted以及平台的信息,方便bug提交。
deploy命令:
scrapy deploy [ <target:project> | -l <target> | -L ]
将项目部署到Scrapyd服务。
bench命令:
scrapy bench
运行benchmark测试。
自定义项目命令
通过COMMANDS_MODULE
来添加自己的项目命令。