1

4 つのスパイダーを作成しました。これまでにスクリプトを実行したときに複数のスパイダーを実行したいのですが、これを試してみましたが、助けにはなりませんでした

私はこれらの4つのクモを持っています

def BestBuyIphoneA(domain):
    dispatcher.connect(stop_reactor, signal=signals.spider_closed)
    spider = BestBuy(domain=domain)
    settings = get_project_settings()
    settings.overrides['ITEM_PIPELINES'] = {'__main__.MyPipeline': 1}
    crawler = Crawler(settings)
    crawler.signals.connect(spider_closed, signal=signals.spider_closed)
    crawler.configure()
    crawler.crawl(spider)
    crawler.start()

def BestBuyLappyA(domain):
    dispatcher.connect(stop_reactor, signal=signals.spider_closed)
    spider = BestBuyLappy(domain=domain)
    settings = get_project_settings()
    settings.overrides['ITEM_PIPELINES'] = {'__main__.MyPipeline': 1}
    crawler2 = Crawler(settings)
    crawler2.signals.connect(spider_closed, signal=signals.spider_closed)
    crawler2.configure()
    crawler2.crawl(spider)
    crawler2.start()

def ShopBotLappyB(domain):
    dispatcher.connect(stop_reactor, signal=signals.spider_closed)
    spider = ShopBotLappy(domain=domain)
    settings = get_project_settings()
    settings.overrides['ITEM_PIPELINES'] = {'__main__.MyPipeline': 1}
    crawler3 = Crawler(settings)
    crawler3.signals.connect(spider_closed, signal=signals.spider_closed)
    crawler3.configure()
    crawler3.crawl(spider)
    crawler3.start()

def ShopBotIphoneB(domain):
    dispatcher.connect(stop_reactor, signal=signals.spider_closed)
    spider = ShopBot(domain=domain)
    settings = get_project_settings()
    settings.overrides['ITEM_PIPELINES'] = {'__main__.MyPipeline': 1}
    crawler4 = Crawler(settings)
    crawler4.signals.connect(spider_closed, signal=signals.spider_closed)
    crawler4.configure()
    crawler4.crawl(spider)
    crawler4.start()

私は1つのコマンドでそれらすべてを実行する必要があるので、これをやっています...

BestBuyIphoneA("")
ShopBotIphoneB("")
BestBuyLappyA("")
ShopBotLappyB("")
reactor.run()

これを行う正しい方法は何ですか????

4

0 に答える 0