데이터 엔지니어 이것저것

pipelines 본문

기타/crawler

pipelines

pastime 2021. 9. 24. 02:23
728x90

스크래피 관련 정보를 구글링해보면서 여러가지 page를 각기 다른 itme에 넣고 저장하는 하는 방법을 찾아보는데
원하는 방법을 찾지 못하여 직접 구현, 추후 더 좋은 방법을 찾게 되면 수정할 예정

1. A페이지에서 A item 수집
2. B페이지에서 B item 수집
3. C페이지에서 C item 수집

각각의 아이템을 명칭도 A,B,C class로 구현

class AItem(scrapy.Item):
    title = scrapy.Field()
    
class BItem(scrapy.Item):
    title = scrapy.Field()

class CItem(scrapy.Item):
    title = scrapy.Field()

이것들을 어떻게 구분하여 DataBase 또는 csv, json등의 파일을 구분하여 저장을 할지 고민하다

파이프라인에서 로직 추가 구현

if item.__class__.__name__ == 'AItem':
	print("A 아이템 입니다.")
elif item.__class__.__name__ == 'BItem':
	print("B 아이템 입니다.")
else:
	print("C 아이템 입니다.")

이런식으로 로직 아이템을 구분하여 save하는 로직 추가.

추가 구현할 것들
1. item class를 dataclass로 구현. (해당 자세한 내용은items에서 서술)
2. database 연동을 ORM등 추가
3. 현재 curser.execute sql문에서 pandas 또는 다른 방법으로 바꾸기 (ORM등)
4. mongoDB연동하기

728x90

'기타 > crawler' 카테고리의 다른 글

크롤링이란?  (0) 2021.12.10
수집도중 missing data 처리  (0) 2021.09.24
DataBase 연동  (0) 2021.09.24
Settings  (0) 2021.09.24
scrapy?  (0) 2021.09.24