scrapy命令工具介绍
Scrapy提供了两种类型的命令。一种必须在Scrapy项目中运行(针对项目(Project-specific)的命令),另外一种则不需要(全局命令)。
全局命令在项目中运行时的表现可能会与在非项目中运行有些许差别(因为可能会使用项目的设定)。
全局命令:
startproject settings runspider shell fetch view version
项目(Project-only)命令:
crawl check list edit parse genspider bench
C:\Users\c00390379>scrapy -help Scrapy 1.5.2 - no active project Usage: scrapy <command> [options] [args] Available commands: bench Run quick benchmark test fetch Fetch a URL using the Scrapy downloader genspider Generate new spider using pre-defined templates runspider Run a self-contained spider (without creating a project) settings Get settings values shell Interactive scraping console startproject Create new project version Print Scrapy version view Open URL in browser, as seen by Scrapy [ more ] More commands available when run from project directory Use "scrapy <command> -h" to see more info about a command
命令介绍:
genspider
语法: scrapy genspider [-t template] <name> <domain>
是否需要项目: yes
这仅仅是创建spider的一种快捷方法。该方法可以使用提前定义好的模板来生成spider。您也可以自己创建spider的源码文件。
Available templates: basic crawl csvfeed xmlfeed $ scrapy genspider -d basic import scrapy class $classname(scrapy.Spider): name = "$name" allowed_domains = ["$domain"] start_urls = ( 'http://www.$domain/', ) def parse(self, response): pass $ scrapy genspider -t basic example example.com Created spider 'example' using template 'basic' in module: mybot.spiders.example
crawl
语法: scrapy crawl <spider>
使用spider蜘蛛进行爬取。
list
语法: scrapy list
是否需要项目: yes
列出当前项目中所有可用的spider。每行输出一个spider。
D:\work\tutorial>scrapy list
mutian
scrapy fetch http://www.baidu.com
scrapy fetch --nolog http://www.baidu.com #disable logging completely
把下载的页面保存
scrapy fetch http://www.baidu.com > d:/3.html
scrapy view http://www.baidu.com
在浏览器中打开给定的URL,并以Scrapy spider获取到的形式展现。
scrapy version #查看版本
scrapy startproject tutorial #创建项目tutorial
scrapy crawl mutian #运行mutian蜘蛛
scrapy shell http://www.scrapyd.cn #调试网址为http://www.scrapyd.cn的网站
settings
语法: scrapy settings [options]
是否需要项目: no
获取Scrapy的设定
在项目中运行时,该命令将会输出项目的设定值,否则输出Scrapy默认设定。
$ scrapy settings --get BOT_NAME
scrapybot
$ scrapy settings --get DOWNLOAD_DELAY
0
scrapy runspider <spider_file.py>
未创建项目的情况下,运行一个编写在Python文件中的spider。
运行蜘蛛除了使用:scrapy crawl XX之外,我们还能用:runspider
前者是基于项目运行,后者是基于文件运行,也就是说你按照scrapy的蜘蛛格式编写了一个py文件,那你不想创建项目,
那你就可以使用runspider,比如你编写了一个:scrapyd_cn.py的蜘蛛,可以用如下命令运行
scrapy runspider scrapy_cn.py

浙公网安备 33010602011771号