파이썬 / 멜론 순위 검색하고 엑셀(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
반응형
'코딩' 카테고리의 다른 글
파이썬 / python / 데이터 타입 / Data type (예. (0) | 2021.12.31 |
---|---|
파이썬 / replace 사용법 (0) | 2021.12.31 |
파이썬 / 검색어로 검색된 결과를 주소와 제목을 불러오기 (0) | 2021.12.30 |
파이썬 / 구글 검색창에 원하는 검색어를 자동 입력 (0) | 2021.12.30 |
비트코인 자동매매 / 인공지능 / 최적시간 설정 (00시 - 07시) (0) | 2021.12.27 |