- best 상품 데이터 40개 수집
- https://www.celltrionbeauty.com/main/best-items
- 상품 이미지 40개 수집
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)
사실 이해가 안가서 동영상 복습 필요...