파이썬 스크랩, 품목의 파이프 라인을 정의하는 방법은 무엇입니까?
-
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
제휴하지 않습니다 StackOverflow