
안녕하세요 3주차 숙제를 완료 했는데, 공백 부분 .strip() 으로 대부분 해결이 됐습니다.
1) 그런데 15 19금 ( 공백 ) Peaches (Feat. Daniel Caesar & Giveon) Justin Bieber
윗부분에는 해결이 되질않아 질문드렸습니다.
2) 또, [0:2] 이 부분에서 두 글자만 끊어지게 하는것 같은데 다른 숫자로 해보았을때 ([0:1~9]까지 해봤습니다) "하강","상승" 이 두 글자의 뒷부분 그러니까 "하", "상" 으로 나올 줄 알았는데 [0:2] 와 같은 결과가 나와서 질문 드립니다. 만약 "하", "상" 을 띄우고 싶다면 어떻게 해야할까요?
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=M&rtm=N&ymd=20210701',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
musics = soup.select('#body-content > div.newest-list > div > table > tbody > tr')
for music in musics:
rank = music.select_one('td.number').text[0:2].strip()
title = music.select_one('td.info > a.title.ellipsis').text.strip()
singer = music.select_one('td.info > a.artist.ellipsis').text
print(rank,title,singer)

감사합니다.
