Привет, мне интересно, как я могу передать результат очистки, который является файлом pandas, в модуль, который создал паука.
import mySpider as mspider
def main():
spider1 = mspider.MySpider()
process = CrawlerProcess()
process.crawl(spider1)
process.start()
print(len(spider1.result))
Паук:
class MySpider(scrapy.Spider):
name = 'MySpider'
allowed_domains = config.ALLOWED_DOMAINS
result = pd.DataFrame(columns=...)
def start_requests(self):
yield Request(url=...,headers=config.HEADERS, callback=self.parse)
def parse(self, response):
*...Some Code of adding values to result...*
print("size: " + str(len(self.result)))
Напечатанное значение в основном методе равно 0 , когда в методе анализа - 1005 . Не могли бы вы сказать мне, как я должен передавать значение между.
Я бы хотел сделать это, потому что у меня несколько пауков. После того, как они закончат очистку, я объединю и сохраню в файл.
РЕШЕНИЕ
def spider_closed(spider, reason):
print("Size" + str(len(spider.result)))
def main():
now = datetime.now()
spider1 = spider.MySpider()
crawler_process = CrawlerProcess()
crawler = crawler_process.create_crawler(spider1)
crawler.signals.connect(spider_closed, signals.spider_closed)
crawler_process.crawl(spider1)
crawler_process.start()