OkBublewrap

@코스메 한국 브랜드 화장품 데이터베이스 구축(2) 본문

Python/프로젝트

@코스메 한국 브랜드 화장품 데이터베이스 구축(2)

옥뽁뽁 2025. 2. 24. 20:51

ERD

 

 

함수 생성

def extract_id(url):
    """
    주어진 URL에서 ID를 추출하는 함수.
    'brands/{id}' 또는 'products/{id}' 경로가 있는 URL을 처리.

    Parameters:
        url (str): URL

    Returns:
        str: ID 또는 None (ID가 없는 경우)
    """
    match = re.search(r'(?:brands|products)/(\d+)', url)
    
    if match:
        return match.group(1)  # ID 반환
    
    return None  # ID가 없는 경우 None 반환

 

url을 가져오면 brand, products일 경우 https://www.cosme.net/brands/122729/ 의 형태를 띔

products도 마찬가지로 똑같은 형태, 하지만 category 부분은 두개 이상인 category를 가짐.

이 부분은 어떻게 처리를 할지 고민해야 한다.

 

brand & item

['ナンバーズイン(numbuzin)',
 'rom&nd',
 'Torriden (トリデン)',
 'fwee(フィー)',
 'ナンバーズイン(numbuzin)',
 'LANEIGE(ラネージュ)',
 'fwee(フィー)',
 'LAGOM(ラゴム)',
 'Torriden (トリデン)',
 'BIOHEAL BOH']


brand 부분은 뒤에 부분도 영문으로 나올지 의문이다. 바로 영문만 남긴다고 해서 그러니 일단 brand 테이블에서 영문처리, 한글 처리를 진행하는 식으로 진행

 

category

['https://www.cosme.net/categories/item/1007/',
 'https://www.cosme.net/categories/item/1077/',
 'https://www.cosme.net/categories/item/1007/',
 'https://www.cosme.net/categories/item/1016/',
 'https://www.cosme.net/categories/item/1007/',
 'https://www.cosme.net/categories/item/1031/',
 'https://www.cosme.net/categories/item/1015/',
 'https://www.cosme.net/categories/item/1083/',
 'https://www.cosme.net/categories/item/1041/',
 'https://www.cosme.net/categories/item/1031/',
 'https://www.cosme.net/categories/item/1005/']

1위 ~ 10위 인데 11개의 URL가 나온것을 확인할 수 있다.

 

가격 & 발매일

# 가격
[<p class="price">税込価格:1枚・290円 / 4枚・1,090円</p>,
 <p class="price">税込価格:9g・1,210円</p>,
 <p class="price">税込価格:27ml×1枚入・275円 / 27ml×10枚入・2,750円 / 27ml×3枚入・825円</p>,
 <p class="price">税込価格:5.3g・1,760円</p>,
 <p class="price">税込価格:1枚・290円 / 4枚・1,090円</p>,
 <p class="price">税込価格:20g・1,870円 / 20g・2,365円 / 20g・2,750円</p>,
 <p class="price">税込価格:1,980円</p>,
 <p class="price">税込価格:220ml・2,750円</p>,
 <p class="price">税込価格:11ml・880円</p>,
 <p class="price">税込価格:50ml・3,300円</p>]
 
 # 발매일
 [<p class="onsale">発売日:2024/1/15</p>,
 <p class="onsale">発売日:2023/7/27 (2024/3/1追加発売)</p>,
 <p class="onsale">発売日:- (2023/6/20追加発売)</p>,
 <p class="onsale">発売日:2024/7/1</p>,
 <p class="onsale">発売日:2021/9/10 (2022/11/28追加発売)</p>,
 <p class="onsale">発売日:2022/9/14 (2025/2/10追加発売)</p>,
 <p class="onsale">発売日:2024/4/22 (2025/2/20追加発売)</p>,
 <p class="onsale">発売日:2019/5/28</p>,
 <p class="onsale">発売日:- (2023/11/22追加発売)</p>,
 <p class="onsale">発売日:2024/5/16</p>]

어떻게 처리할지 고민을 해보자.