自分のプロジェクトの爬虫類の後に書かれた、爬虫類は、独自のカスタムコマンドを実行することができます。
単一爬虫類
名前の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