
* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.
제가 문득 숙제를하다 혹시 1위부터 20위까지 출력하고싶은데 IF문이나 FOR 같은 조건문을 이용해서 출력할수 있다면 어떤식으로 작성해야 하는지 궁금해서 질문드립니다.
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.info > a.artist.ellipsis
sing=soup.select('#body-content > div.newest-list > div > table > tbody > tr')
for genie in sing:
rank=genie.select_one('td.number')
title=genie.select_one('td.info > a.title.ellipsis')
artist=genie.select_one('a.artist.ellipsis')
print(rank.text[0:2].strip(),title.text.strip(),artist.text)
