[Python] 만개의 레시피 데이터 수집

최근 레시피 생성을 목적으로 한 사이드 프로젝트에 참여하게 되었는데
모델 학습을 위한 만개의 레시피 데이터 크롤링을 진행해보았습니다.

스키마 구성 #

기존엔 레시피 명칭과 음식 재료 정보만을 수집할 계획이었지만,
만개의 레시피의 각 페이지를 살펴보면서 추가적으로 가져갈만한 데이터가 있음을 확인하여
우선적으로 테이블 관계 및 스키마를 구성해보았습니다.

schema

초기에 만개의 레시피와 공공데이터를 데이터 소스로 삼았기 때문에,
만개의 레시피에 대한 DB _10000, 공공데이터에 대한 DB food로 구성했습니다.

_10000 DB 내 테이블은 만개의 레시피 내 각각의 페이지에서 가져온 데이터로 구성되며,
크게 카테고리, 레시피, 사용자 단위로 구분할 수 있습니다.

[Python] requests로 네이버 스마트스토어센터 로그인 구현하기 (3)

앞선 네이버 로그인 구현 과정을 통해 네이버 로그인에 대해 이해하고
스마트스토어센터 로그인 결과로 얻을 수 있는 쿠키 값의 일부를 획득했습니다.

python
cookies = {
    "NNB": "...",
    "nid_inf": "...",
    "NID_AUT": "...",
    "NID_SES": "...",
    "NID_JKL": "...",
    "CBI_SES": "...",
    "CBI_CHK": "...",
    "NSI": "...",
}

하지만, 스마트스토어센터에서 데이터를 가져오기 위해 필요한 쿠키 값은
CBI_SES, CBI_CHK, NSI 세 가지 값이기 때문에
지금까지는 준비 과정에 불과했다고 할 수 있습니다.

이번 게시글에서는 스마트스토어센터 로그인 과정을 이해하고
직접 구현해보면서 SmartstoreLogin 클래스를 완성해보겠습니다.


스마트스토어센터 로그인 이해 #

지금까지 스마트스토어센터의 두 가지 로그인 방식 중
네이버 로그인 방식으로 로그인을 수행하기 위해,
실제 네이버 로그인에 대한 이해 및 구현을 진행했습니다.

[Python] requests로 네이버 스마트스토어센터 로그인 구현하기 (2)

이번 게시글에서는 스마트스토어센터 페이지에서 데이터를 수집하는 자동화 프로그램을 제작하기 위한
첫 번째 과정으로 네이버 로그인을 구현할 것입니다.

앞선 게시글에서 데이터를 수집하는 방식에 대해 알아보면서
로그인이 필요한 페이지에 접근하기 다음과 같은 쿠키 값이 필요함을 확인했습니다.

python
cookies = {
    "NNB": "...",
    "nid_inf": "...",
    "NID_AUT": "...",
    "NID_SES": "...",
    "NID_JKL": "...",
    "CBI_SES": "...",
    "CBI_CHK": "...",
    "NSI": "...",
}

위 키값들은 앞으로 로그인 프로세스를 파악하는 과정에서 중요하게 활용됩니다.


네이버 로그인 이해 #

네이버 스마트스토어센터 로그인 과정에서 진행되는 네이버 로그인은
일반적인 네이버 로그인과는 다른 과정으로 진행됩니다.

[Python] requests로 네이버 스마트스토어센터 로그인 구현하기 (1)

네이버 스마트스토어센터에서는 매출 향상에 도움을 주는 유용한 통계 데이터를 제공해줍니다.
쇼핑몰 데이터를 분석하는 입장에서 무료로 제공되는 이런 데이터는 큰 도움이 되지만,
대부분이 엑셀 파일 다운로드를 지원하지 않고 빈번하게 수치가 바뀌는 데이터를 각각의 메뉴에서 매번 확인하기도 어렵습니다.
이런 데이터를 자동화 프로그램으로 수집 및 적재할 수 있다면 업무 효율을 크게 향상시킬 수 있을 것입니다.

이번 게시글에서는 실제 네이버 스마트스토어 로그인 구현에 앞서
데이터 수집에 대한 간단한 설명을 진행하고 네이버 로그인 구현의 바탕이 되는 클래스와 메소드를 정의합니다.