[codeit] 검색어 순위 받아오기

SUNGJIN KIM·2021년 12월 1일
0

codeit

목록 보기
11/18

문제

이번에는 음악 사이트의 검색어 순위를 받아오려 합니다.

'인기 아티스트' 아래에 있는 '검색어 순위'의 1위~10위 데이터를 popular_searches 리스트에 담아 주세요.

순위, 순위 변동을 제외한 검색어만 리스트에 담아 주세요.

문제 풀이

강의에서 배운 내용을 그대로 다른 리스트로 적용하는 거라 어렵지는 않았다.
비슷한 유형을 보다보니, select, get_text, string, stripped_strings 등에 대한 정리가 필요할 것 같아서 이는 다른 주제로 벨로그를 작성할 예정이다.
(오늘은 문제풀이만 작성할 예정)

이번 문제는 푸는 핵심은 어떻게 데이터를 나누느냐가 중요한 것 같다.
사용하는 코드에 따라서 방법이 복잡해지느냐, 아니냐가 갈리는 것 같다.
처음에는 get_text()를 이용해서 사용하다보니 계속 신용재 이름 앞에 공백이 들어가게 되었고, 하지만 get_text()로는 stripped_strings를 사용할 수가 없어서 좀 헤맸는데, list로 받으니 깔끔하게 처리가 되었다.

출력

['Queen', '방탄소년단', '아이유', '거미', '폴킴', '김범수', '헤이즈', '트와이스', '박효신', '신용재']

소스코드

import requests
from bs4 import BeautifulSoup

url = "https://workey.codeit.kr/music#"
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')

popular_searches = []

for tag in soup.select('ul.rank__order li'):
    popular_searches.append(list(tag.stripped_strings)[2])

print(popular_searches)
profile
#QA #woonmong

0개의 댓글