본문 바로가기
개발 일지/Web

[ 스파르타 / Web ] 웹개발 종합반 3주차_#3

by CODESIGN 2022. 12. 31.

웹 사이트 크롤링 심화버전


네이버영화 사이트의 현재 영화 순위를 아래와 같이 출력하기

 

 

크롤링할 웹 사이트 링크


 

랭킹 : 네이버 영화

영화, 영화인, 예매, 박스오피스 랭킹 정보 제공

movie.naver.com

 

크롤릴해올 사이트 이미지


 

 

풀이


선생님과함께 영화 제목을 뽑아보고 스스로 영화 순위와 평점을 뽑아 보았다. 태크안에 alt를 어떻게 뽑아올지 막막했지만 앞에 배운 내용들로 적용을 해보니 바로 원하는 데이터들이 출력되서 뿌듯했다.

 

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')

# 영화 태그들을 가져온다
movies = soup.select('#old_content > table > tbody > tr')

# 필요한 데이터들을 뽑아온다
for movie in movies:
    rank = movie.select_one('td:nth-child(1) > img')
    a = movie.select_one('td.title > div > a') 
    score = movie.select_one('td.point')
    if a is not None:
        print(rank['alt'], a.text, score.text)

 

반응형

댓글