scrapyフレームカスタムコマンド

自分のプロジェクトの爬虫類の後に書かれた、爬虫類は、独自のカスタムコマンドを実行することができます。

単一爬虫類

名前のstart.pyとしてファイルPYのルートディレクトリに新しいアイテムは、次のコードを記述します。

scrapy.cmdlineのインポート実行する

場合 __name__ == " __main__ " 
    ([実行" scrapy "" クロール"" chouti "" --nologを" ])

実行するStart.py。

第二に、そしてより多くの爬虫類実行

図1は、このようなコマンドと同じディレクトリスパイダー、中にフォルダを作成します。

新しいフォルダの下に、このような名前のcrawlall.pyとしてPYファイルを、作成した2は、コードを記述します。

scrapy.commands インポートScrapyCommandの


クラスコマンド(ScrapyCommand):
    requires_project = 

    DEFの構文(セルフ):
         リターン " [オプション] " 

    DEF SHORT_DESC(セルフ):
         リターン " ファイル名を指定して実行蜘蛛のすべて"   カスタムコマンドの説明

    DEF RUN(セルフ、引数、OPTS):
        spider_list = self.crawler_process.spiders.list()  は、爬虫類のリストを取得する
        ための名前:spider_list   #のクロール各爬虫類のための循環リスト。あなたはまた、自分のニーズに基づいて、望ましいクロール、爬虫類のリストをフィルタリングすることができます
            self.crawler_process.crawl(名前は、**付き合えない。__dict__ 
        self.crawler_process.startを()

3、settings.pyに設定を追加します。COMMANDS_MODULE =「プロジェクト名のディレクトリ名を」

如:COMMANDS_MODULE = "myspider.spiders.commands"

(ステップ2でcrawlallは、新しいファイル名PYである)を実行するscrapy crawlall --nolog:4、ターミナルに入力します

ディレクトリ構造

└─myspider 
        │items.py 
        │middlewares.py 
        │pipelines.py 
        │のsettings.py __init__ の.py 
        ├─spiders 
        ││zhihu.py 
        ││   __init__ の.py 
        ││ 
        │├─commands 
        │││crawlall.py 
        │ ││ 
        ││└─ __pycache__ 
        ││crawlall.cpython -36 に.pyc 
        ││ 
        │└─ __pycache__ 
        │zhihu.cpython -36 に.pyc __init__ .cpython-36 .pycファイル
        └─ __pycache__ 
                items.cpython -36 .pycファイル
                pipelines.cpython -36 .pycファイル
                settings.cpython -36 .pycファイル
                 __init__ .cpython-36.pyc

 

おすすめ

転載: www.cnblogs.com/songzhixue/p/11491182.html