250x250
Notice
Recent Posts
Recent Comments
Link
관심쟁이 영호
[#3 이미지 검색 프로젝트] API 응답 객체화(클래스화?) 하기! 본문
반응형
크롤링한 내용을 list를 통해서 전달하지 않고 객체를 생성하여 getter, setter로 편하게 이용하고 싶어서 작업을 조금 더 하려고 한다!
코드는 다음과 같다.
목차
- 클래스 생성
- 크롤링 클래스에 적용하기
클래스 생성
model.py
class model():
title = ''
price = ''
type =''
fileName =''
link =''
filePath = ''
def __init__(self):
self.name = '정보 없음'
self.type = '정보 없음'
self.address = '정보 없음'
self.price ='정보 없음'
self.filePath = '정보 없음'
self.link = '정보 없음'
def setTitle(self, title):
self.title = title
def getTitle(self):
return self.title
def setPrice(self, price):
self.price = price
def getPrice(self):
return self.price
def setType(self, type):
self.type = type
def getType(self):
return self.type
def setFileName(self, fileName):
self.fileName = fileName
def getFileName(self):
return self.fileName
def setLink(self, link):
self.link = link
def getLink(self):
return self.link
def setFilePath(self, filePath):
self.filePath = filePath
def getFilePath(self):
return self.filePath
파이썬에서 고유하게 지원하는 get / set 모듈이 있을 것이다. 하지만 모듈에는 별도의 추가 내용이 있을 것이므로, 가볍게 사용하기 위해서 내가 원하는 함수만 선언하여 만들었다.
내가 수집할 내용은
title : 상품 이름
link : 상품 링크
price : 상품 가격
fileName : 저장된 사진 이름
filePath : 저장된 사진의 경로
type : 상품 타입 (검색 단어로 지정했다. 나중에 where 절을 이용하기 위해서 적어두었다.)
크롤링 클래스에 적용하기
해야하는 적용은 다음과 같다.
- 크롤링 내용을 model 클래스로 적절하게 파싱 하고, DB 저장 클래스로 보낸다.
1. 방금 생성한 model 클래스 정보를 가져온다.
import model
2. 모델을 생성하고 초기화해준다.
getModel = model.model()
getModel.setTitle(title)
getModel.setPrice(price)
getModel.setLink(link)
getModel.setType(searchModel)
getModel.setFileName(fileName)
getModel.setFilePath(filePath)
DAO.insertData(getModel)
DAO는 insert를 할 클래스이다.
300x250
Comments