Ben algoritm.py adlı bir komut dosyası var ve Script örümcekleri komut dosyası sırasında arayabilmek istiyorum. Dosya scructure geçerli:Belirli bir Python komut dosyasından özel Scrapy örümcekleri nasıl çağırılır
algorithm.py MySpiders/
MySpiders birkaç scrapy projelerini içeren bir klasör. Algorithm.py'de arayabileceğim perform_spider1(), perform_spider2() ... yöntemlerini oluşturmak istiyorum.
Bu yöntemi nasıl oluştururum?
Aşağıdaki kodu kullanarak bir örümcek çağırmayı başardım, ancak bu bir yöntem değildir ve yalnızca bir örümcek için çalışır. Ben yardıma muhtaç bir başlangıç yapıyorum!
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.')
Teşekkürler, alecxe! Son örümcekden sonra reaktörü nasıl durdurabilirim? Şu anda def stop_reactor() kullanıyorum: reactor.stop() dispatcher.connect (stop_reactor, sinyal = signals.spider_closed) Ancak bu Rica ederiz –
... ilk örümcek sonra durur. İyi soru! Örümceklerin izini tutmak 'stop_reactor' el ile kapatıldı ve eğer hepsi kapatıldıysa reaktör durduruldu? Btw, cevabı düzenledim ve bağlantıyı ilgili bir konuya dahil ettim. – alecxe
Teşekkürler, dostum. Size oy vermek için yeterli saygınlığım yok ama ben sizi ahlaki olarak oy kullanıyorum :) –