Scrapy有两类命令:
1.是只能在Scrapy工程中使用的
2.是全局命令,不依赖工程。
全局命令有:
- startproject
- genspider
- settings
- runspider
- shell
- fetch
- view
- version
依赖工程的命令:
- crawl
- check
- list
- edit
- parse
- bench
下面详细介绍每个命令的用法和功能:
startproject
语法:scrapy startproject <project_name> [project_dir]
功能:新建一个工程
genspider
语法:scrapy genspider [-t template] <name> <domain>
功能:可以使用指定的模板在当前目录创建一个新的spider
举例:
(scrapy) root@ubuntu:/xuexi/test# scrapy genspider example example.com
Created spider ‘example’ using template ‘basic’
创建的example.py内容如下:
(scrapy) root@ubuntu:/xuexi/test# cat example.py
# -*- coding: utf-8 -*-
import scrapy
class ExampleSpider(scrapy.Spider):
name = 'example'
allowed_domains = ['example.com']
start_urls = ['http://example.com/']
def parse(self, response):
pass
crawl
语法:scrapy crawl
功能:使用一个spider开始爬取
check
语法:scrapy check [-l] <spider>
功能:检查spider的语法是否有问题
list
语法:scrapy list
功能:列出当前工程里面可用的spider
edit
语法:scrapy edit <spider>
功能:开始编辑spider,可以在EDITOR环境变量(如果有设置)或setting.py中的EDITOR设置指定的编辑器
fetch
语法:scrapy fetch <url>
功能:使用Scrapy的下载器下载指定的URL,并输出内容到屏幕
view
语法:scrapy view <url>
功能:在浏览器中打开指定的URL
shell
语法:scrapy shell [url]
功能:打开Scrapy shell,可以很方便的用来调试,可以在/etc/scrapy或工程目录下面的scrapy.cfg中指定shell
如:
(scrapy) root@ubuntu:/xuexi/weather# cat /etc/scrapy.cfg
[settings]
shell = ipython
注意:如果你是用virtualenv建的虚拟环境,虚拟环境也需要安装ipython,否则即使你系统级别已安装ipython,也是不行的
parse
语法:scrapy parse <url> [options]
功能:获取指定的URL,并用spider或用–callback指定方法去解析