카테고리 없음

셀트리온 뷰티몰에서 데이터 크롤링 하기 (정적페이지)

yumin630 2024. 10. 5. 00:43

 

import requests
import pandas as pd
from bs4 import BeautifulSoup

 

 

# 찾아낸 url
url = 'https://www.celltrionbeauty.com/main/best-items'
# request > response
response = requests.get(url)
response

 

 

# make BeautifulSoup Object
dom = BeautifulSoup(response.text, 'html.parser')
type(dom)


# find item list css selector
selector = '#productListBody > div'
elements = dom.select(selector)
len(elements)


# find item css selector
element = elements[0]
data = {
    'title': element.select_one('.tit').text,
    'price': element.select_one('.pri').text,
    'img': element.select_one('img').get('data-src'),
}
data


# parsing all elements
items = []
for element in elements:
    data = {
        'title': element.select_one('.tit').text,
        'price': element.select_one('.pri').text,
        'img': element.select_one('img').get('data-src'),
    }
    items.append(data)
    
    
    df = pd.DataFrame(items)
df.tail(2

 

 

 

 

 

이미지 다운로드하기

 

# os : 파일시스템 다룸 : 디렉토리 생성, 파일삭제, 파일 목록 출력 ...
import os
# pillow : 이미지 전처리 : 흑백변환, 이미지 사이즈 조절, 이미지 출력 ...
from PIL import Image as pil

 

 

# make directory
path = 'data'
os.makedirs(path, exist_ok=True)


# download image
link = df.loc[0, 'img']
link

filename = 'test'
filelink = f'{path}/{filename}.jpg'
print(filelink)
response = requests.get(link)
response


with open(filelink, 'wb') as file:
    file.write(response.content)
    
    
os.listdir(path)

# show image
pil.open(filelink)

 

 

 

사실 이해가 안가서 동영상 복습 필요...