네이버 영화 한줄평

네이버 영화 한줄평 사이트를 크롤링 하는 코드입니다.

Selenium에 대한 자세한 설명은 생략하고, 코드를 어떻게 짰는지 간단하게만 설명하겠습니다.

이 데이터를 활용하여 간단히 한 프로젝트도 링크 첨부해 드리며

활용 방안은 다양하니 셀레니움으로 네이버 영화 리뷰를 한 번 크롤링 해봅시다!

코드

import requests
from selenium import webdriver
import time
from tqdm import tqdm
import csv

크롤링을 위한 , selenium, request 라이브러리

시간을 재기위한 time, tqdm 라이브러리

마지막으로는 csv파일로 저장하기 위하여 csv를 import 하였다.

다른 라이브러리들은 그냥 설치하시면 되고, selenium만 chrome driver가 필요하니 여기를 참고하여 chrome driver를 현재 디렉토리에 넣어서 실행하시면 됩니다.

browser = webdriver.Chrome()
url = "https://movie.naver.com/movie/point/af/list.nhn"
browser.get(url)

일단 chrome driver를 활용하여 사이트가 자동으로 열리는지 확인합니다.

from tqdm import tqdm
reviewData = list()
# links = browser.find_element_by_class_name('paging').find_elements_by_tag_name('a')
_iter = 1000
for page in tqdm(range(_iter)):
    for row in browser.find_elements_by_tag_name('tr')[1:]:
        content = row.find_element_by_class_name('title').text.split('\n') 
        title = content[0]
        point = content[2]
        text = content[3][:-4]
#         print(title, point, text)
        reviewData.append((title, point, text))
    browser.find_element_by_class_name('pg_next').click()

일단 2020.01.13 기준으로는 돌아가는 것 확인했습니다.

홈페이지 구조가 조금 바뀌더라도 find하는 부분만 잘 바꿔서 사용하시면 됩니다.

코드 최적화는 하지 않았고, 간단한 프로젝트 하실 때 유용하게 사용하시기 바랍니다!

import csv

csvFile = open("./reviewData.csv", "a", newline="\n")
csvWriter = csv.writer(csvFile)

for row in reviewData:
    csvWriter.writerow(row)

csvFile.close()

csv 파일 형태로 저장하는 것입니다.

위에서 append안하고 바로바로 write할 수도 있고,

dataframe 형태로 만들어서 저장하여도 되고, 굳이 csv파일로 저장안해도 되지만…

그 당시 했던 코드라 그냥 올리겠습니다! 유용하게 활용하십시오!

출처
  • https://github.com/smothly/ToBigs/blob/master/week8/NLP/nlpProject.ipynb
  • https://github.com/smothly/ai_innovation_NLP/blob/master/5.28~29%20search%20engine.ipynb