详解Scrapy的命令行工具

接触过Scrapy的人都知道,我们很多操作是需要借助命令行来执行的,比如创建项目,运行爬虫等。所以了解和掌握这些命令对于scrapy的学习是很有帮助的!

Scrapy 命令

首先,在scrapy命令中分为两种,一个就是全局命令和项目命令,什么意思呢?简单粗暴的说就是有些命令你可以在你电脑任何地方用,有些命令只能在你自己的项目里面用。

下面给大家先看看所有的命令:

Global commands(全局命令):

  • startproject
  • genspider
  • settings
  • runspider
  • shell
  • fetch
  • view
  • version

Project-only commands(项目命令):

  • crawl
  • check
  • list
  • edit
  • parse
  • bench

咱们一个一个来吧!

1. startproject

语法

scrapy startproject <project_name> [project_dir]

含义:创建一个新的Scrapy项目,名称为 project_name ,在project_dir目录下,如果目录不存在,那么目录就会变成项目名。

使用案例

$ scrapy startproject myproject

2. genspider

语法

scrapy genspider [-t template] <name> <domain>

含义:新建一个爬虫在当前文件夹或者在当前项目的爬虫文件夹中,如果是在一个项目当中,这个<name>参数将被当成爬虫的名字,然而<domain>将会被用来创建爬虫里面的 allowed_domains 和start_urls的属性值

使用案例

$ scrapy genspider -l       Available templates:四种模板  basic  crawl  csvfeed  xmlfeed
$ scrapy genspider example example.com创建example爬虫,并且默认使用basic模板
$ scrapy genspider -t crawl scrapyorg scrapy.org创建scrapyorg模板,并且使用crawl模板

3.crawl

语法

scrapy crawl <spider>

含义:运行爬虫

使用案例

$ scrapy crawl myspider

4. check

语法

scrapy check [-l] <spider>

含义:运行contract检查,检查你项目中的错误之处。

使用案例

$ scrapy check -lfirst_spider  * parse  * parse_itemsecond_spider  * parse  * parse_item
$ scrapy check[FAILED] first_spider:parse_item>>> ‘RetailPricex‘ field is missing
[FAILED] first_spider:parse>>> Returned 92 requests, expected 0..4

5. list

语法:scrapy list

含义:列举出当前项目的爬虫

使用案例

$ scrapy listspider1spider2 

6. edit

语法:scrapy edit <spider>

含义:编辑爬虫代码,实际上就是vim模式,但是这种方式并不怎么好用,还不如用IDE去写爬虫。

使用案例

$ scrapy edit spider1

7. fetch

语法:scrapy fetch <url>

含义:使用Scrapy下载器下载指定的URL,并将获得的内容输出,通俗的来说就是打印出网站的HTML源码。

使用实例:

$ scrapy fetch --nolog http://www.example.com/some/page.html[ ... html content here ... ]

8.view

语法:scrapy view <url>

含义:在你的默认浏览器中打开给定的URL,并以Scrapy spider获取到的形式展现。 有些时候spider获取到的页面和普通用户看到的并不相同,一些动态加载的内容是看不到的, 因此该命令可以用来检查spider所获取到的页面。

使用案例

$ scrapy view http://www.example.com/some/page.html[ ... browser starts ... ]

9.shell

语法:scrapy shell [url]

含义:启动Scrapy Shell 来打开url,可以进行一些测试

使用案例

$ scrapy shell http://www.baidu.com[ ... scrapy shell starts ... ]

10. parse

语法:scrapy parse <url> [options]

含义:输出格式化内容

Supported options:

  • --spider=SPIDER: 自动检测爬虫、强制使用特定爬虫
  • --a NAME=VALUE: 设置爬虫的参数(可重复)
  • --callback or -c: 用作解析响应的回调的爬虫方法
  • --meta or -m: 传递给回调请求的附加请求元。必须是有效的JSON字符串。示例:–meta=‘“foo”:“bar”
  • --pipelines: 通过管道处理项目
  • --rules or -r: 使用crawlspider规则发现用于解析响应的回调(即spider方法)
  • --noitems: 不显示items
  • --nolinks: 不显示提取的链接
  • --nocolour: 避免使用Pygments对输出着色
  • --depth or -d: 递归执行请求的深度级别(默认值:1)
  • --verbose or -v: 显示每个深度级别的信息

使用案例

$ scrapy parse http://www.example.com/ -c parse_item[ ... scrapy log lines crawling example.com spider ... ]
>>> STATUS DEPTH LEVEL 1 <<<# Scraped Items  ------------------------------------------------------------[{‘name‘: ‘Example item‘, ‘category‘: ‘Furniture‘, ‘length‘: ‘12 cm‘}]
# Requests  -----------------------------------------------------------------[]

11.settings

语法:scrapy settings [options]

含义:拿到Scrapy里面的设置属性

使用案例

$ scrapy settings --get BOT_NAMEscrapybot$ scrapy settings --get DOWNLOAD_DELAY0

12.runspider

语法:scrapy runspider <spider_file.py>

含义:运行一个含有爬虫的python文件,不需要是一个scrapy项目

使用案例

$ scrapy runspider myspider.py[ ... spider starts crawling ... ]

13.version

语法:scrapy version [-v]

含义:查看Scrapy版本

使用案例

scrapy versionScrapy 1.6.0

14.bench

语法:scrapy bench

含义:测试电脑当前爬取速度性能

原文地址:https://www.cnblogs.com/zhangyafei/p/10851826.html

时间: 2024-10-15 06:57:35

详解Scrapy的命令行工具的相关文章

36补 varnish程序解雇及配置初步、vcl使用详解及varnish命令行工具

01 varnish程序结构及配置初步 配置环境 node1: CentOS 6.7 192.168.1.121 [[email protected] ~]# yum -y install httpd [[email protected] ~]# service httpd start [[email protected] ~]# echo "<h1>Web1</h1>" > /var/www/html/index.html [[email protect

详解NodeJS和命令行程序

源起 植根于Unix系统环境下的程序,很多都把贯彻Unix系统设计的哲学作为一种追求.Unix系统管道机制的发明者Douglas McIlroy把Unix哲学总结为三点: 专注做一件事,并做到极致.程序协同工作.面向通用接口,如文本数据流.随着Unix/Linux系统在服务器上影响力越发强大,以及各种跨平台解决方案的发展,这种哲学也被带到了各种平台上.若干年前,笔者第一次接触NodeJS和其包管理解决方案NPM时候,就感觉到其官方倡导的风格,和Unix系统哲学非常契合.近年来,随着NodeJS在

Scrapy命令行工具简介

Windows 10家庭中文版,Python 3.6.4,virtualenv 16.0.0,Scrapy 1.5.0, 在最初使用Scrapy时,使用编辑器或IDE手动编写模块来创建爬虫(Spider)程序,然后使用scrapy crawl命令执行Spider. 这种方式很初级.繁琐,不适合更大型的项目. 很好的是,Scrapy提供了 命令行工具(Command line tool),通过这套工具,开发者可以轻松建立 Scrapy项目,而不仅仅是一个一个的Spider程序. 初见Scrapy命

Scrapy 1.4 文档 05 命令行工具

在系统命令行中,使用 scrapy 命令可以创建工程或启动爬虫,它控制着 Scrapy 的行为,我们称之为 Scrapy 命令行工具(command-line tool)或 Scrapy 工具(Scrapy tool).紧跟在 scrapy 命令之后的命令属于子命令(我们称之为"命令(commands)"或"Scrapy命令(Scrapy commands)",例如用于新建项目的 startproject 命令). Scrapy 工具包含许多命令,有各自的功能.参数

Scrapy系列教程(1)------命令行工具

默认的Scrapy项目结构 在開始对命令行工具以及子命令的探索前,让我们首先了解一下Scrapy的项目的文件夹结构. 尽管能够被改动,但全部的Scrapy项目默认有类似于下边的文件结构: scrapy.cfg myproject/ __init__.py items.py pipelines.py settings.py spiders/ __init__.py spider1.py spider2.py ... scrapy.cfg 存放的文件夹被觉得是 项目的根文件夹 .该文件里包括pyth

scrapy系列教程二——命令行工具(Command line tools)

1.命令行工具(Command line tools) Scrapy是通过Scrapy命令行工具进行控制的.这里我们称之为 “Scrapy tool” 以用来和子命令进行区分. 对于子命令,我们称为 “command” 或者 “Scrapy commands”.Scrapy tool 针对不同的目的提供了多个命令,每个命令支持不同的参数和选项. 2.常用命令 官方命令行说明文档 http://scrapy-chs.readthedocs.org/zh_CN/latest/topics/comma

使用Scrapy命令行工具【导出JSON文件】时编码设置

Windows 10家庭中文版,Python 3.6.4,virtualenv 16.0.0,Scrapy 1.5.0, 使用scrapy命令行工具建立了爬虫项目(startproject),并使用scrapy genspider建立了爬虫,用于抓取某中文门户网站首页的 新闻标题及其链接,全程都在虚拟环境(virtualenv)中执行. 使用scrapy crawl执行爬虫程序并导入一个json文件,此时可以看到,命令行窗口显示的 新闻标题是中文,但在打开导出的json文件时,其新闻标题显示为以

【转帖】windows命令行中java和javac、javap使用详解(java编译命令)

windows命令行中java和javac.javap使用详解(java编译命令) 更新时间:2014年03月23日 11:53:15   作者:    我要评论 http://www.jb51.net/article/48380.htm 学习一下java 最近重新复习了一下java基础,这里便讲讲对于一个类文件如何编译.运行.反编译的.也让自己加深一下印象 如题,首先我们在桌面,开始->运行->键入cmd 回车,进入windows命令行.进入如图所示的画面: 可知,当前默认目录为C盘User

GO实现简单(命令行)工具:sftp,文檔压解,RDS备份,RDS备份下载

GO实现简单(命令行)工具:sftp,文檔压解,RDS备份,RDS备份下载 轉載請註明出處:https://www.cnblogs.com/funnyzpc/p/11721978.html 内容提要: 1.远程连接linux执行sftp文件下载 2.window下文件解压缩(tar.gz.zip) 3.window下文件解压缩及带密码解压(zip) 4.window下调用阿里雲RDS api查询备份并下载 5.GO语言命令行工具技巧 首先,写这篇博文的一个出发点是:我无法在window的cmd命