2016-09-15 6 views
1

해당 질문에 대한 답을 찾을 수 없습니다. 어떻게이 scrapy 거미 종료 후 파이썬 코드를 실행할 수 있습니다 : 나는 my_function 정의보다 self.my_function()를 를 :Python Scrapy - 스파이더 퇴장 후 코드 실행

을 나는 (DEF :) (자동 응답을 parse_item하여 응답을 구문 분석 함수 내에서 다음을했다(),하지만 문제는 여전히 거미의 루프 안에 있다는 것입니다. 필자의 주요 아이디어는 수집 된 데이터로 스파이더 루프 외부의 함수에서 주어진 코드를 실행하는 것이다. 감사합니다. .

class MySpider(scrapy.Spider): 
    # some attributes 
    spider_attr=[] 

    def parse(self, response): 
     # do your logic here 
     # page_text = response.xpath('//text()').extract() 
     self.spider_attr.append(whatever) 

    def closed(self, reason): 
     # will be called when the crawler process ends 
     # any code 
     # do something with collected data 
     for i in self.spider_attr: 
      print i 

답변

3

는 Scrapy 클래스의 기능 closed를 사용?
+0

그 기능 ("폐쇄")에 수집 된 데이터를 제공 할 수있는 방법이 있나요 : 다음과 같이 –

+0

MySpider 클래스에 속성을 추가 할 수 있습니다. 그런 다음 closed() 메소드 내에서 이러한 속성에'self.attributename' – Kruser

관련 문제