파이썬 / 멜론 순위 검색하고 엑셀(csv)로 저장하기

2021. 12. 30. 21:52코딩

반응형

멜론 사이트에 있는 차트 순위를 검색하고

 

순위/가수/곡정보/앨범 이렇게 정리하여 엑셀로 정리하는 법을 알아볼게요 

 

 

코드는 아래와 같습니다.

import urllib.parse
import urllib.request
from bs4 import BeautifulSoup
from selenium import webdriver
import time
import csv


#####웹 사이트 정보 해석 및 읽어오기#####
hdr = { 'User-Agent' : 'Mozilla/5.0' }
url = 'https://www.melon.com/chart/index.htm'

req = urllib.request.Request(url, headers=hdr)
html = urllib.request.urlopen(req).read()
soup = BeautifulSoup(html, 'html.parser')

#####웹 정보 가져와 담기#####
lst50 = soup.select('.lst50, .lst100') # .xxx 는 Class 표기

melonList = []

for i in lst50:
    temp = []
    temp.append(i.select_one('.rank').text)  #순위 가져오기
    temp.append(i.select_one('.ellipsis.rank01').a.text) #제목 가져오기
    temp.append(i.select_one('.ellipsis.rank02').a.text) #아티스트 가져오기
    temp.append(i.select_one('.ellipsis.rank03').a.text) #곡명
    melonList.append(temp)

# print(melonList)  #주석을 풀고 여기까지 실행하면 작동 여부 확인 됨

#####담은 정보를 파일로 저장하기#####
with open('melon100_utf8.csv', 'w', encoding='utf8', newline='') as f:
    writer = csv.writer(f)
    writer.writerow(['순위', '아티스트', '곡명', '앨범'])
    writer.writerows(melonList)

with open('melon100_cp949.csv', 'w', encoding='cp949', newline='') as f:
    writer = csv.writer(f)
    writer.writerow(['순위', '아티스트', '곡명', '앨범'])
    writer.writerows(melonList)

 

해보시면, utf8 과 cp949 로 나뉘는데, utf8로 하면 엑셀이 깨져보일 것이고, cp949로 하면 파이썬에서 볼 때 깨져있을 거예요.

큰 무리 없으니 임의로 사용하시면 되겠습니다.

 

 

자료가 도움이 되셨다면, 아래 유튜브 오냐TV로 구독과 좋아요~ 꼭 부탁 드려요~!!

https://www.youtube.com/channel/UCKEjO6sQJjlyzbHGeqd3hKg

 

ONYA TV 오냐TV

오늘의 인터뷰 오냐TV 입니다. 벤처 또는 신규 기업, 새롭고 다양한 것을 생생하게 인터뷰 하는 오냐TV 채널 입니다. 새로운 상품이나 서비스 등 소개를 '유튜브'에서 전달하고 있고, "오냐TV" 영상

www.youtube.com

 

반응형