티스토리 뷰
반응형
[코드스니펫] 지니뮤직 사이트.
https://www.genie.co.kr/chart/top200?ditc=D&ymd=20200403&hh=23&rtm=N&pg=1
순위 / 곡 제목 / 가수를 스크래핑 하면 됩니다.
힌트
순위와 곡제목이 깔끔하게 나오지 않을 거예요. 옆에 여백이 있다던가, 다른 글씨도 나온다던가.. 파이썬 내장 함수인 strip()을 잘 연구해보세요!
import requests
from bs4 import BeautifulSoup
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&ymd=20200403&hh=23&rtm=N&pg=1',headers=headers)
soup = BeautifulSoup(data.text, 'html.parser')
genie = soup.select('#body-content > div.newest-list > div > table > tbody > tr')
for homework in genie:
rank = homework.select_one('td.number').text[0:2].strip()
title = homework.select_one('td.info > a.title.ellipsis').text.strip()
singer = homework.select_one('td.info > a.artist.ellipsis').text.strip()
print(rank, title, singer)
반응형