Scrapy命令行工具

2023-08-18 08:23:29 浏览数 (2)

startproject

在 project_name 文件夹下创建一个名为 project_name 的Scrapy项目。 语法:

代码语言:javascript复制
scrapy startproject <project_name>

genspider

在当前项目中创建spider,可以使用提前定义好的模板来生成spider。 语法:

代码语言:javascript复制
scrapy genspider [-t template] <name> <domain>

crawl

使用spider进行爬取。 语法:

代码语言:javascript复制
scrapy crawl <spider>

check

运行contract检查。 语法:

代码语言:javascript复制
scrapy check [-l] <spider>

list

列出当前项目中所有可用的spider,每行输出一个spider。 语法:

代码语言:javascript复制
scrapy list

edit

使用 EDITOR 中设定的编辑器编辑给定的spider。 语法:

代码语言:javascript复制
scrapy edit <spider>

fetch

使用Scrapy下载器(downloader)下载给定的URL,并将获取到的内容送到标准输出。 语法:

代码语言:javascript复制
scrapy fetch <url>

view

在浏览器中打开给定的URL,并以Scrapy spider获取到的形式展现。 语法:

代码语言:javascript复制
scrapy view <url>

shell

以给定的URL(如果给出)或者空(没有给出URL)启动Scrapy shell。 语法:

代码语言:javascript复制
scrapy shell [url]

parse

获取给定的URL并使用相应的spider分析处理。 语法:

代码语言:javascript复制
scrapy parse <url> [options]

支持的选项:

  • --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默认设定。 语法:

代码语言:javascript复制
scrapy settings [options]

runspider

在未创建项目的情况下,运行一个编写在Python文件中的spider。 语法:

代码语言:javascript复制
scrapy runspider <spider_file.py>

version

输出Scrapy版本。 语法:

代码语言:javascript复制
scrapy version [-v]

deploy

将项目部署到Scrapyd服务。 语法:

代码语言:javascript复制
scrapy deploy [ <target:project> | -l <target> | -L ]

bench

运行benchmark测试。 语法:

代码语言:javascript复制
scrapy bench

0 人点赞