• scrapy命令:scrapy genspider详解 转


     

    当我们使用:
    scrapy startproject taobao
    命令创建好scrapy蜘蛛后,你是否注意到,下面还有这么一行内容:
    F:scrapyTest> scrapy startproject taobao
    New Scrapy project 'taobao', using template directory 'D:\Anaconda3\lib\site-
    packages\scrapy\templates\project', created in:
        F:scrapyTest	aobao
    
    You can start your first spider with:
        cd taobao
        scrapy genspider example example.com
    
    You can start your first spider with:     cd taobao     scrapy genspider example example.com
     
    神马意思呢?翻译过来就是:你可以使用 cd 命令进入taobao这个目录然后执行如下命令:
    scrapy genspider example example.com
    那我们就执行了看看,于是乎,出现了如下:
    scrapy genspider命令详解

    好像是说给我们创建了个文件,我们打开我们的项目,发现果然:
    scrapy genspider命令详解

    我们打开文件看一下:
    scrapy genspider命令

    恍然大悟,原来这个命令是给我们创建蜘蛛模板的,example是蜘蛛名,example.com是start_urls,明白之后根据项目创建一个有针对性的,既然是爬淘宝,那我们就输入 :
    scrapy genspider taobao taobao.com
    但当你这样输入的时候,你发现不好使了:
    scrapy genspider

    原来,名称不能和项目相同,那我们换一种说法:
    scrapy genspider TaoBaoSpider taobao.com
    这样就ok了,项目里又多了一个蜘蛛
    scrapy genspider

    命令挺方便,能让我们少写很多代码!进一步看这一个命令,我们输入:
    scrapy genspider -h
    有以下输出:
    scrapy genspider -h

    可以看到,scrapy genspider有如下格式:
     scrapy genspider [options] <name> <domain>
    <name>和<domain>上面已经使用过![options] 是神马呢,可以看到,也就是可以加如下几个参数:
    Options
    =======
    --help, -h              show this help message and exit
    --list, -l              List available templates
    --edit, -e              Edit spider after creating it
    --dump=TEMPLATE, -d TEMPLATE
                            Dump template to standard output
    --template=TEMPLATE, -t TEMPLATE
                            Uses a custom template.
    --force                 If the spider already exists, overwrite it with the
                            template
    简单的解释以下 -h 的话我们已经用过,也就是展示帮助,那我们来试试 -l:
    scrapy genspider -l
    F:scrapyTest	aobao>scrapy genspider -l
    Available templates:
      basic
      crawl
      csvfeed
      xmlfeed
    
    
    这里的意思是可用的模板,那也就是说我们可以用上面的模板输出我们的蜘蛛文件,但是要结合下面的参数 -t 一起用,来,试一下:
    scrapy genspider -t crawl taobao2 taobao.com
    执行之后,你会发现,又给我们创建了一个名为:taobao2的蜘蛛,但是里面的蜘蛛格式是:crawl类型:
    scrapy genspider crawl

    基本就是这样的用法!
    scrapy genspider命令就是用来给你创建蜘蛛模板的,非常方便,别忘记以后用上这个命令!
  • 相关阅读:
    Struts2中ModelDriven的使用
    Android 如何让 app 自行处理 power key M
    url后面带斜杠与不带斜杠的区别
    Http Request Method:options
    org.springframework.boot.builder.SpringApplicationBuilder.<init>
    Uncaught (in promise) DOMException: Failed to execute 'open' on 'XMLHttpRequest': Invalid URL
    git将多个commit合并成一个
    idea error:Command line is too long
    java使用zxing插件绘制二维码
    git解决冲突插件之Beyond Compare
  • 原文地址:https://www.cnblogs.com/brady-wang/p/11039743.html
Copyright © 2020-2023  润新知