Crawling

Python을 이용한 네이버 영화 크롤링

과제 내용 설명

  • 대상: 예매순 상위 5개의 현재 상영 중인 영화

  • 수집할 항목: 영화 제목, 주연배우 3인, 네티즌 평점, 관람객 평점, 기자/평론가 평점, 관람객 별점 리뷰 20건 공감순으로(평점, 작성자닉네임, 리뷰본문)

우수과제로 뽑은 이유

모듈화가 가장 잘 구현된 코드였습니다. 깔끔한 코딩으로 저장 형식이 과제 출제자의 의도 대로여서 좋았습니다. 다만, 데이터를 저장할 때 공백 문자를 제거(strip())하는 등의 개선할 부분도 보였습니다.

In [1]:

import requests
from bs4 import BeautifulSoup
import re

1. 예매순 상위 5개의 현재 상영 중인 영화 가져오기

영화 검색을 위한 5개의 영화 코드 리스트를 저장한다.In [2]:

def get_movie_codes():
    codes = []                        #코드를 저장할 리스트
    
    url = 'https://movie.naver.com/movie/running/current.nhn'
    res = requests.get(url)
    html = res.text
    soup = BeautifulSoup(html, 'html.parser')
    
    i = 0
    for tag in soup.find('ul', class_='lst_detail_t1').find_all('li'):
        codes.append(tag.find('a').get('href')[28:])
        i += 1
        if i == 5 :
            break
    
    return codes

In [3]:

Out[3]:

2. 영화 제목 가져오기

In [4]:

In [5]:

Out[5]:

3. 출연진 3명 가져오기

In [6]:

In [7]:

Out[7]:

4. 평점 가져오기

In [8]:

In [9]:

Out[9]:

5. 관람객 평점 공감순 20건 가져오기

In [10]:

In [11]:

Out[11]:

6. 영화별 내용 저장

In [12]:

In [13]:

Out[13]:

7. 파일 저장하기

In [21]:

In [22]:

Last updated

Was this helpful?