
안녕하세요,
3-7강 듣다가 궁금한 게 있어 글 남깁니다.
영화 랭킹 코드스니펫으로 크롤링 하는 부분인데 'None'으로 나오는 부분을 걸러내는 작업을 해봤는데요,
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.naver?sel=pnt&date=20210829',headers=headers)
soup = BeautifulSoup(data.text, 'html.parser')
#old_content > table > tbody > tr:nth-child(3) > td.title > div > a
#old_content > table > tbody > tr:nth-child(4) > td.title > div > a
movies = soup.select('#old_content > table > tbody > tr')
for movie in movies:
a = movie.select_one('td.title > div > a')
if a is not None:
print(a.text)
여기서 맨 아래 for movie in movies: 바로 아래,
a = movie.select_one 하고 () 괄호 안에, selector의 뒷부분만 넣는 이유가 궁금합니다.
어떤 기준으로 어느 구간을 넣을지 정하는 걸까요?
