scrapyカスタムcommand
1768 ワード
参考:
http://www.tuicool.com/articles/UnUBbuJ。
1、commandパッケージを作成します。spiderと同レベル
2,新規ファイルcrawlall.py
同前author_='ふふふ
from scrapy.co mmands import SrapyCommmand
from scrapy.rawler import CrawlerRunner
from scrapy.utils.co nf import arglist_to_プロジェクト
class Command(SrapyCommand):
requires_プロジェクト=True
def syntax(self):
return'[options]
defショートカットdesc(self):
return'Runs all of the spides'
def add_options:
ScrpyCommand.add_options(self,parser)
parser.add_option(「-a」、dest=「spargs」、action=「apped」、default=「」、metavar=「NAME=VALE」、
help=「set spider argment(may be repeat)」
parser.add_option(「-o」、「--output」、metavar=「FILE」、
help=「dump scraped items into FILE(use-for stdout)」)
parser.add_option(「-t」、「--output-format」、metavar=「FOREMAT」、
help=「format to use for dumping items with-o」)
def process_options(self,args,opts):
ScrpyCommand.process_options(self,args,opts)
try:
opts.spargs=arglist_to_dict(opts.spargs)
except Value Error:
ライセUsageError(Invalid-a value,use-a NAME=VALE)、print_help=False)
def run(self,args,opts):
#settings=get_プロジェクトsettings()
spider_loader=self.crawler_process.spider_loader
for spidame in args or spider_loader.list():
print「******crall spidearname***」+spidearname
self.crawler_process.crawl(spidename、**opts.spargs)
self.crawler_process.start()
ここは主にself.crawlerを使っています。process.spider_loader.list()メソッドは、プロジェクトのすべてのspiderを取得し、self.crawler_を利用する。process.crawl運転spider
3,settings.pyに設定を追加します。
http://www.tuicool.com/articles/UnUBbuJ。
1、commandパッケージを作成します。spiderと同レベル
2,新規ファイルcrawlall.py
同前author_='ふふふ
from scrapy.co mmands import SrapyCommmand
from scrapy.rawler import CrawlerRunner
from scrapy.utils.co nf import arglist_to_プロジェクト
class Command(SrapyCommand):
requires_プロジェクト=True
def syntax(self):
return'[options]
defショートカットdesc(self):
return'Runs all of the spides'
def add_options:
ScrpyCommand.add_options(self,parser)
parser.add_option(「-a」、dest=「spargs」、action=「apped」、default=「」、metavar=「NAME=VALE」、
help=「set spider argment(may be repeat)」
parser.add_option(「-o」、「--output」、metavar=「FILE」、
help=「dump scraped items into FILE(use-for stdout)」)
parser.add_option(「-t」、「--output-format」、metavar=「FOREMAT」、
help=「format to use for dumping items with-o」)
def process_options(self,args,opts):
ScrpyCommand.process_options(self,args,opts)
try:
opts.spargs=arglist_to_dict(opts.spargs)
except Value Error:
ライセUsageError(Invalid-a value,use-a NAME=VALE)、print_help=False)
def run(self,args,opts):
#settings=get_プロジェクトsettings()
spider_loader=self.crawler_process.spider_loader
for spidame in args or spider_loader.list():
print「******crall spidearname***」+spidearname
self.crawler_process.crawl(spidename、**opts.spargs)
self.crawler_process.start()
ここは主にself.crawlerを使っています。process.spider_loader.list()メソッドは、プロジェクトのすべてのspiderを取得し、self.crawler_を利用する。process.crawl運転spider
3,settings.pyに設定を追加します。
COMMANDS_MODULE = 'you_name.commands'