algorithm.py というスクリプトがあり、スクリプト中に Scrapy スパイダーを呼び出せるようにしたいと考えています。ファイル構造は次のとおりです。
algorithm.py MySpiders/
MySpiders は、いくつかのスクレイピー プロジェクトを含むフォルダーです。algorithm.py で呼び出すことができるメソッド perform_spider1()、perform_spider2() を作成したいと思います。
このメソッドを構築するにはどうすればよいですか?
次のコードを使用して 1 つのスパイダーを呼び出すことができましたが、これはメソッドではなく、1 つのスパイダーに対してのみ機能します。私は助けが必要な初心者です!
import sys,os.path
sys.path.append('path to spider1/spider1')
from twisted.internet import reactor
from scrapy.crawler import Crawler
from scrapy.settings import Settings
from scrapy import log, signals
from scrapy.xlib.pydispatch import dispatcher
from spider1.spiders.spider1_spider import Spider1Spider
def stop_reactor():
reactor.stop()
dispatcher.connect(stop_reactor, signal=signals.spider_closed)
spider = RaListSpider()
crawler = Crawler(Settings())
crawler.configure()
crawler.crawl(spider)
crawler.start()
log.start()
log.msg('Running reactor...')
reactor.run() # the script will block here
log.msg('Reactor stopped.')