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

posted @ 2019-01-25 15:38  牧 天  阅读(152)  评论(0)    收藏  举报