728x90
반응형
2020/10/10 - [문송충의 코딩하기/파이썬 데이터 분석] - [장고:분노의 추적자] - 네이버 영화 API 통한 영화 정보 분석 with 파이썬
위 포스팅에 이어서 내가 좋아하는 장고:분노의 추적자 영화에 사람들이 남긴 리뷰를 네이버 영화 페이지 가져오도록 하겠다. 이번 포스팅에서 평점을 가져온 후 다음 포스팅에서는 텍스트 분석을 해보도록 하겠다. 아래 장고 영화 평점 페이지에서 리뷰 내용을 가져오도록 하겠다.
movie.naver.com/movie/bi/mi/pointWriteFormList.nhn?code=87311&type=after&page=1
파이썬 코드
우선 총 리뷰 수를 가져온 다음 리뷰 수에 맞춰 리뷰 페이지 수만큼 반복문을 돌려서 데이터를 다 가져오도록 하겠다.
import pandas as pd
import requests
from bs4 import BeautifulSoup as bs
url='https://movie.naver.com/movie/bi/mi/pointWriteFormList.nhn?code=87311&type=after&page=1'
res=requests.get(url)
obj=bs(res.text,'html.parser')
#총 리뷰 수 가져오기
te=obj.find_all('strong',{'class':'total'})[0].text
import re
total_reviews=int("".join(re.findall(r'[0-9]', te)))
reviews=[]
for i in range(1,int(total_reviews/10 +2)):
url=f'https://movie.naver.com/movie/bi/mi/pointWriteFormList.nhn?code=87311&type=after&page={i}'
res=requests.get(url)
obj=bs(res.text,'html.parser')
#리뷰 내용
for i in range(0,len(obj.find_all('div',{'class':'score_reple'}))):
text=obj.find_all('span',{'id':f'_filtered_ment_{i}'})[0].text
reviews.append(text.replace('\t','').replace('\n','').replace('\r',''))
위 코드를 돌리고 reviews 리스트 변수를 출력하면 총 2865개가 있다는 점을 확인할 수 있을 것이다. 10월 11일 기준으로 네이버 영화 페이지에 들어가도 동일한 숫자의 리뷰가 있다.
df=pd.DataFrame(reviews,columns=['리뷰 내용'])
df.to_csv('장고 리뷰.csv',encoding='euc-kr')
위 코드를 통해서 추출한 2865개의 리뷰를 엑셀로 출력해서 다음 분석에 활용하도록 하겠다.
다음 포스팅에서는 2865개 리뷰를 갖고 텍스트 분석을 해보겠다. 텍스트 분석이 내가 잘 모르는 분야라 조금 시간이 걸릴 것 같다.
728x90
반응형
'문송충의 코딩하기 > 파이썬 데이터 분석' 카테고리의 다른 글
[파이썬] - 서울시 공공시설 테니스장 데이터 가져오기 from 서울 공공데이터 API (1) | 2020.11.01 |
---|---|
[파이썬] 서울시 공공데이터 API를 활용해 서울시 코로나19 확진자 데이터 분석하기 #1 (0) | 2020.10.27 |
[장고:분노의 추적자] - 네이버 영화 API 통한 영화 정보 분석 with 파이썬 (0) | 2020.10.10 |
공공데이터 API를 활용한 국내 대차거래 종목 순위 확인하기 with 파이썬 (0) | 2020.10.08 |
한국 거래소에 있는 코스피 종목 기본 정보 파이썬으로 가져오기 (0) | 2020.10.04 |
댓글