์ด๋ฒ ์ฃผ์ฐจ๋ ์ง๋๋ฎค์ง์ 1~50์ ๊ณก์ ์์ / ๊ณก ์ ๋ชฉ / ๊ฐ์ ๋ฅผ ์คํฌ๋ํํ์๋ค.
๊ฒฐ๊ณผ์ฝ๋๋ฅผ ๋ณด๋ฉด
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=20211101',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 //๊ฐ์
chart_list = soup.select('#body-content > div.newest-list > div > table > tbody > tr')
for chart in chart_list:
title = chart.select_one('td.info > a.title.ellipsis').text.strip()
rank = chart.select_one('td.number').text[0:2].strip()
artist = chart.select_one('td.info > a.artist.ellipsis').text
print(rank, title, artist)
๊ฐ๋จํ ์ฝ๋ ๋ถ์ํ๊ธฐ!
1. title์์ ์ฌ์ฉ๋ strip() ํจ์
: strip() ํจ์๋ ๋ฌธ์์ด์ ์ ๋์ ์๋ ๊ณต๋ฐฑ์ ์ ๊ฑฐํด์ฃผ๊ณ , ๊ณต๋ฐฑ์ ์ ๊ฑฐํ ์๋ก์ด ๋ฌธ์์ด์ ๋ฐํํด์ค๋ค.
2. rank์์ ์ฌ์ฉ๋ a[0:2]
: a[0:2]๋ ์ฌ๋ผ์ด์ฑ(Slicing) ๊ธฐ๋ฒ์ผ๋ก, a๋ฌธ์์ด์์ ์๋ฆฌ๋ฒํธ 0๋ถํฐ 2๋ฒ๊น์ง์ ๋ฌธ์๋ฅผ ๋ฝ์๋ธ๋ค๋ ๋ป์ด๋ค.
(์ฌ๊ธฐ์ ๋๋ฒํธ๋ ํฌํจ๋์ง ์๋๋ค. ๋ฐ๋ผ์ ์ถ๋ ฅ๋๋ ๋ฌธ์์ด์ 0,1๋ฒ์งธ์ ๋ฌธ์์ด๊น์ง ์ถ๋ ฅ!)
3. ๋ชจ๋ ๊ณณ์ ์ฌ์ฉ๋ .text
: .text()๋ ํ๊ทธ์์ ํ ์คํธ๋ฅผ ๋ฌธ์์ด๋ก ๋ฐํํ๋ค.
โผ ํฌ๋กค๋ง ๊ฒฐ๊ณผ๋ฌผ
๊ฐ๋จํ๋ฏ ํ๋ฉด์๋ strip()ํจ์์ ์ฌ๋ผ์ด์ฑ์ ์ด๋ ์์น์ ๋ฃ์ด์ผ ํ ์ง ๊ณ ๋ฏผ์ด ๋ง์ด๋์๊ณ , ์ฌ๊ธฐ์ ๊ธฐ ๋ฃ์ด๋ณด๋ฉด์ ์ค๋ฅ๋ฅผ ๊ฑฐ์น๋ฉฐ ๊ฒฐ๊ณผ๊ฐ์ ์ป๊ฒ ๋์๋ค. ์์ง์ ์กฐ๊ธ ๋ ์ต์ํด์ ธ์ผ ํ ๊ฒ ๊ฐ๋ค.
'๐ ๊ธฐํ > ์คํ๋ฅดํ์ฝ๋ฉํด๋ฝ_FE' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ์ฑ๋ ๊ณต๋๊ตฌ๋งค (0) | 2022.02.12 |
---|---|
์น๊ฐ๋ฐ ์ข ํฉ๋ฐ | Flask ์ฌ์ฉํ๊ธฐ (0) | 2021.12.27 |
์น๊ฐ๋ฐ ์ข ํฉ๋ฐ | ์น์คํฌ๋ํ(ํฌ๋กค๋ง) | DB | mongoDB (0) | 2021.12.26 |
์น๊ฐ๋ฐ ์ข ํฉ๋ฐ | jQuery | Ajax (0) | 2021.12.23 |
ํฌ๋ช ๋ก ๋ง๋ค๊ธฐ (0) | 2021.12.22 |