【scrapyシリーズ】カスタムコマンド


scrapyには、次のような組み込みコマンドがたくさんあります.
scrapy list:        
scrapy version:  scrapy  

では、適当な命令がないのではないでしょうか.例えば、すべての爬虫類と対応する中国語の名前(結局は中国人で、英語が下手だとつらいです)を見たいと思っています.私もプロジェクトでこの問題に遭遇したので、研究して、この命令を出してnamesと名付けて命令を実行しました.
scrapy names:            
      :
	common_detail:      
	news_paper:    


では、これはどのように実現されたのでしょうか.まずnamesを作成します.py
# -*- coding=utf-8 -*-
from scrapy.commands import ScrapyCommand

class Command(ScrapyCommand):
    requires_project = True

    def short_desc(self):
        return '          '

    def run(self, args, opts):
        spider_info = self.crawler_process.spiders._spiders
        for key, spider in spider_info.items():
            print("%s:%s" % (key, spider.zh_name))

このコマンドを使用するにはscrapyのsettingsが必要です.py内設定
COMMANDS_MODULE = '   .names'

これで使えますから、仲間たちがやってみてください.