파이썬 스크랩, 품목의 파이프 라인을 정의하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/1056651

  •  20-08-2019
  •  | 
  •  

문제

나는 다른 사이트를 기어 다니기 위해 스크랩을 사용하고 있습니다. 각 사이트마다 품목이 있습니다 (다른 정보가 추출됨)

예를 들어, 일반 파이프 라인이 있습니다 (대부분의 정보는 동일합니다). 이제 Google 검색 응답을 크롤링하고 파이프 라인이 달라야합니다.

예를 들어:

GenericItem 용도 GenericPipeline

하지만 GoogleItem 용도 GoogleItemPipeline,하지만 거미가 크롤링 할 때 사용하려고합니다. GenericPipeline 대신에 GoogleItemPipeline.... Google Spider를 사용해야하는 파이프 라인을 어떻게 지정할 수 있습니까?

도움이 되었습니까?

해결책

이제 한 가지 방법 만 - 파이프 라인에서 항목 유형을 점검하고 처리하거나 "있는 그대로"반환합니다.

파이프 라인 .py:

from grabbers.items import FeedItem

class StoreFeedPost(object):

    def process_item(self, domain, item):
        if isinstance(item, FeedItem):
            #process it...

        return item

항목 .py:

from scrapy.item import ScrapedItem

class FeedItem(ScrapedItem):
    pass
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top