これはウェブサイトを介してクロールするスパイダーが1つあり、製品情報を一掃しています...そして、リンクは最初に構築され、それをチェック目的のために使用します。Scrapyはスパイダーがもう1つのプロパティを組み込んだものを持っています
私はこれをすべて1つのスパイダーで行うことができますが、スパイダーはすでに非常に大きい(25以上の異なるドメインの一般的なスパイダーです)、可能な限り分離しておきたいと思います。現在、私のようなこのマスタークモのインスタンスを作成しています次の次に見られるよう
def run_spiders(*urls, ajax=False):
process = CrawlerProcess(get_project_settings())
for url in urls:
process.crawl(MasterSpider, start_page = url, ajax_rendered = ajax)
process.start()
を理想的には、これがどのように動作するかのようなものです:
- Scrapy run multiple spiders from a main spider?
- Is it possible to run another spider from Scrapy spider?
私はMasterSpiderのclosed_handler内で別のクローラープロセスを生成しようとしましたが、リアクターはすでに非常に明確に実行されていますそれはうまくいきません。何か案は?
私がクローラーランナーに切り替えるときはいつでも、正確にここにあるドキュメンテーション/質問にあるものであっても、正確には動作しません。私はfrom_crawlerを使用して行くことが私の方法かもしれないと思っていますが、私は完全にはわかりません。