3μ£Όμ°¨_Quiz_μΉμ€ν¬λν(ν¬λ‘€λ§) νμ΄ λμκΉ
μ μλ : "λκ² λ§λλ κ²μ΄ μ€μν©λλ€"
λ : κ·ΈλκΉ.. λ°©λ²μ μ’ λ λν μΌνκ².. μλ €μ£Όμλ©΄ μλ κΉμ...?

[λ€ μ΄ν΄νλ κ²λ μ’μ§λ§, μ΅λν μ΄λ κ² νλ¬κ°λꡬλ λΌκ³ 보며 μ΅μν΄μ§μ!!]
μΉμ€ν¬λν (λ€μ΄λ² μν νμ΄μ§μμ μμ, μ λͺ©, λ³μ λ§ λ°λ‘ μ€ν¬λ© ν΄λ³΄μ)
import ν bs4λ₯Ό μ€μΉ
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://movie.naver.com/movie/sdb/rank/rmovie.nhn?sel=pnt&date=20200303',headers=headers)
soup = BeautifulSoup(data.text, 'html.parser')
λ²μ μ§μ
κ²½λ‘λ₯Ό κ°μ Έμ¬ λλ κ²μ¬λ‘ λ€μ΄κ°μ copy > copyselector ν΄λ¦μΌλ‘ 볡μ¬νλ€.
# old_content > table > tbody > tr:nth-child(2) > td.title > div > a #κ·Έλ¦° λΆ
# old_content > table > tbody > tr:nth-child(3) > td.title > div > a #κ°λ²λμ
# old_content > table > tbody > tr:nth-child(4) > td.title > div > a #λ² μΌλ¦¬ μ΄κ²μΈ
# old_content > table > tbody > tr:nth-child(5) > td.title > div > a #μ£Όμ μ₯
:nth-child(2) > td.title > div > a μ΄ λΆλΆ κΉμ§λ κ° κ°λ³ κ²½λ‘μ΄κΈ° λλ¬Έμ μ μΈ
# old_content > table > tbody > tr
κ·Έ λ€μ trs = soup.select('#old_content > table > tbody > tr') μ§μ
λ΄κ° μ€ν¬λ© νκ³ μ νλ κ²½λ‘λ₯Ό κ²μ¬λ₯Ό ν΅ν΄ μ°Ύκ³ κ³΅ν΅λ λ²μκΉμ§ μ§μ κΈ°μ
trs = soup.select('#old_content > table > tbody > tr')
κ·Έλ¦° λΆ : μ λͺ© μ κ²½λ‘ μ°ΎκΈ°
# old_content > table > tbody > tr:nth-child(2) > td.title > div > a
μμ 'κ·Έλ¦° λΆ'μ΄ μμΉν κ²½λ‘ = td.title > div > a
for λ₯Ό μ¬μ©ν΄μ a_tag μ μ΄λ¦μ΄ λ€μ΄κ° μ리 μ§μ
.select_one μ νΉμ λΆλΆλ§ μ ν
for tr in trs:
a_tag = tr.select_one('td.title > div > a')
μμ μ½λλ₯Ό μ€νμν€λ©΄
μ΄ None μ μλ΅νκΈ° μν€ if λ₯Ό μ¨μ£Όκ³
for tr in trs:
a_tag = tr.select_one('td.title > div > a')
if a_tag is not None:
λ°μΌλ‘ μμ, μ λͺ©, λ³μ μ§μ
μμ = rank
for tr in trs:
a_tag = tr.select_one('td.title > div > a')
if a_tag is not None:
rank = tr.select_one('td:nth-child(1) > img')['alt']
μ¬κΈ°μ μμλ₯Ό λνλ΄λ alt λΆλΆλ§ κ°μ Έμ€κΈ° ( '' λλ½ μ£Όμ )
μ λͺ© = title
.text λ₯Ό μ¬μ©νμ¬ 'κ·Έλ¦° λΆ' λ§ μΆμΆ
for tr in trs:
a_tag = tr.select_one('td.title > div > a')
if a_tag is not None:
title = a_tag.text
λ³μ = star
for tr in trs:
a_tag = tr.select_one('td.title > div > a')
if a_tag is not None:
star = tr.select_one('td.point').text
μ 리νλ©΄
for tr in trs:
a_tag = tr.select_one('td.title > div > a')
if a_tag is not None:
rank = tr.select_one('td:nth-child(1) > img')[alt]
title = a_tag.text
star = tr.select_one('td.point').text
print(rank, title, star)
μ€ννλ©΄
μ μ λμ΄λκ° μ΄λ €μμ§λ©΄μ λ°°μμ μλλ λλμ§κ³ μμμ λλλ€.
λ, μ°μ΅ λ¬Έμ μμλ μ¦κ° λ°μνμ§ λͺ»νκ³ μ΄λ² ν΄μ¦ λ¬Έμ κ°μ΄ ν¨κ» νμ΄μΌ ν λκ° λ§λ€..
κ·Έλλ μ‘°κΈμ©..
κ»μ§ λ²κ³ μΉμ΄ νΈλ μμΉμ²λΌ
μμ§ μ λλ‘ νμ§ νΌμ΄λ³΄μ§ μμμΌλκΉ
ν¬κΈ°νμ§ λ§κ³ , λ ν΄λ³΄μ!!