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\taobao

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\taobao>scrapy genspider -l
Available templates:
  basic
  crawl
  csvfeed
  xmlfeed

這里的意思是可用的模板,那也就是說我們可以用上面的模板輸出我們的蜘蛛文件,但是要結合下面的參數 -t 一起用,來,試一下:
scrapy genspider -t crawl taobao2 taobao.com
執行之后,你會發現,又給我們創建了一個名為:taobao2的蜘蛛,但是里面的蜘蛛格式是:crawl類型:
scrapy genspider crawl

基本就是這樣的用法!
scrapy genspider命令就是用來給你創建蜘蛛模板的,非常方便,別忘記以后用上這個命令!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM