본문 바로가기
Research/Python

bs4_파이썬으로 네이버 영화 정보 스크래핑

by RIEM 2022. 11. 21.

bs4, requests를 사용하여 네이버 영화 페이지에서 데이터를 스크래핑할 것이다. 

스크래핑할 정보는 영화 제목, 순위 그리고 평점 총 3가지다.

>hello.py

import requests
# 'requests' works like ajax in Python
from bs4 import BeautifulSoup
# 'bs4' makes easy to search specific information in HTML

# headers is synthetic human-touch. Server think human is approaching to them not this code
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:
    a = movie.select_one('td.title > div > a')
    
    # excludes None such as '-----'..
    if a is not None:
        title = a.text
        rank = movie.select_one('td > img')['alt']
        star = movie.select_one('td.point').text
        print(title, rank, star)

 

결과

밥정 01 9.64
그린 북 02 9.59
가버나움 03 9.59
디지몬 어드벤처 라스트 에볼루션 : 인연 04 9.53
원더 05 9.52
베일리 어게인 06 9.52
먼 훗날 우리 07 9.52
아일라 08 9.51
당갈 09 9.49
극장판 바이올렛 에버가든 010 9.48
포드 V 페라리 11 9.48
주전장 12 9.47
쇼생크 탈출 13 9.45
터미네이터 2:오리지널 14 9.44
덕구 15 9.43
나 홀로 집에 16 9.43
라이언 일병 구하기 17 9.43
클래식 18 9.42
잭 스나이더의 저스티스 리그 19 9.42
그대, 고맙소 : 김호중 생애 첫 팬미팅 무비 20 9.42
월-E 21 9.42
보헤미안 랩소디 22 9.42
사운드 오브 뮤직 23 9.41
포레스트 검프 24 9.41
빽 투 더 퓨쳐 25 9.41
위대한 쇼맨 26 9.41
글래디에이터 27 9.41
헬프 28 9.41
인생은 아름다워 29 9.40
타이타닉 30 9.40
매트릭스 31 9.40
살인의 추억 32 9.40
센과 치히로의 행방불명 33 9.39
토이 스토리 3 34 9.39
가나의 혼인잔치: 언약 35 9.39
헌터 킬러 36 9.39
캐스트 어웨이 37 9.38
집으로... 38 9.38
아이즈 온 미 : 더 무비 39 9.38
반지의 제왕: 왕의 귀환 40 9.38
죽은 시인의 사회 41 9.38
히든 피겨스 42 9.38
알라딘 43 9.38
어벤져스: 엔드게임 44 9.38
레옹 45 9.38
쉰들러 리스트 46 9.37
아이 캔 스피크 47 9.37
동주 48 9.37
안녕 베일리 49 9.37
클레멘타인 50 9.37

댓글