본문 바로가기
내일배움단 개발일지

11. 3주차 - 숙제

by 새싹_v 2022. 8. 20.
728x90


 

 

 

최신 지니뮤직 1 ~ 50위 곡을 스크래핑해보기

 

 

import requests
from bs4 import BeautifulSoup


# 타겟 URL을 읽어서 HTML를 받아오고,
headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'}
data = requests.get('https://www.genie.co.kr/chart/top200?ditc=D&rtm=Y',headers=headers)

soup = BeautifulSoup(data.text, 'html.parser')
#body-content > div.newest-list > div > table > tbody > tr:nth-child(1) > td.number #랭크
#body-content > div.newest-list > div > table > tbody > tr:nth-child(1) > td.info > a.title.ellipsis #제목
#body-content > div.newest-list > div > table > tbody > tr:nth-child(1) > td.info > a.artist.ellipsis #가수

genie = soup.select('#body-content > div.newest-list > div > table > tbody > tr')

for Music in genie:
       title = Music.select_one('td.info > a.title.ellipsis').text.strip() #strip() 공백제거
       rank = Music.select_one('td.number').text[0:2].strip() #앞에서 두 글자만 끊기 text[0:2] 사용 
       name = Music.select_one('td.info > a.artist.ellipsis').text

       print(rank, title, name)

 

결과!

 

 

 

위에 글 내용은 오류 사항이 존재할 수 있습니다!

수정 사항이 있을 시 알려주시면 감사하겠습니다.

728x90

댓글