Python

[Python] 데이터를 크롤링하여 엑셀로 저장 해 보자.

allempty_sheep 2024. 8. 1. 10:36
반응형

bugs 페이지에서 데이터를 크롤링하여 엑셀 파일로 저장 해 볼 것이다.

https://music.bugs.co.kr/chart

 

나를 위한 플리, 벅스

나를 위한 플리, 벅스! 마음을 담은 노래추천 플레이리스트, 그리고 일상을 감성으로 가득 채워줄 essential player까지

music.bugs.co.kr

 

위의 페이지를 사용하여 연습을 해보자.

먼저 라이브러리를 호출 해 준다.

from selenium import webdriver
from bs4 import BeautifulSoup
import pandas as pd

 

이후 페이지를 가져오자

driver = webdriver.Chrome()
url = 'https://music.bugs.co.kr/chart'

driver.get(url)

html = driver.page_source
soup = BeautifulSoup(html, 'html.parser')

driver.close()

 

BeautifulSoup를 이용하여 분석을 해주자.

랭크를 1 부터 증가시키며 title, singer를 저장한다.

song_data = []
rank = 1
songs = soup.select('table.byChart > tbody > tr')

for song in songs:
    title = song.select('p.title > a')[0].text
    singer = song.select('p.artist > a')[0].text
    song_data.append(['Bugs', rank, title, singer])
    rank += 1

 

데이터 프레임으로 만들어서 엑셀 파일로 저장 해 보자.

columns = ['서비스', '순위', '타이틀', '가수']
pd_data = pd.DataFrame(song_data, columns = columns)

pd_data.to_excel('./bugs.xlsx', index = False)

 

아래와 같이 나온나면 저장이 잘 된 것이다.