2
나는 scrapy 워드 프로세서의 예에 따라 외부 파일에서 scrapy 거미를 실행하고 있습니다. 나는 코어 API에서 제공하는 통계를 잡고 크롤링이 완료된 후 MySQL의 테이블에 저장합니다.어떻게 scrapy 실행에서 통계를 얻으려면?
from twisted.internet import reactor
from scrapy.crawler import Crawler
from scrapy import log, signals
from test.spiders.myspider import *
from scrapy.utils.project import get_project_settings
from test.pipelines import MySQLStorePipeline
import datetime
spider = MySpider()
def run_spider(spider):
settings = get_project_settings()
crawler = Crawler(settings)
crawler.signals.connect(reactor.stop, signal=signals.spider_closed)
crawler.configure()
crawler.crawl(spider)
crawler.start()
log.start()
reactor.run()
mysql_insert = MySQLStorePipeline()
mysql_insert.cursor.execute(
'insert into crawler_stats(sites_id, start_time,end_time,page_scraped,finish_reason)
values(%s,%s,%s, %s,%s)',
(1,datetime.datetime.now(),datetime.datetime.now(),100,'test'))
mysql_insert.conn.commit()
run_spider(spider)
어떻게 위의 코드에 START_TIME, END_TIME, pages_scraped, finish_reason 같은 통계의 값을 얻을 수 있나요?
당신이 나에게 예제 코드를 제공하시기 바랍니다 수 있습니까? – Anish
@Ngeunpo 확인, 업데이트되었습니다. 확인해주십시오. – alecxe
나는 통계에서 finish_time 및 finish_reason을 받고 있지 않다. – Anish