DevKim

[초보자를 위한 웹 크롤링 web crawling #4] 네이버 영화 리뷰 크롤링 본문

데이터 수집 [ Web crawling ]

[초보자를 위한 웹 크롤링 web crawling #4] 네이버 영화 리뷰 크롤링

on_doing 2020. 4. 20. 22:49
728x90

오늘은 영화리뷰 댓글들을 가져오는 실습을 진행해보겠습니다.

 

https://movie.naver.com/movie/bi/mi/point.nhn?code=136900

저는 어벤져스:엔드게임 으로 실습을 진행하였습니다!!


1) 페이지 소스 코드 살펴보기

이전 포스팅에서 알려준대로 하면 원하는 부분의 소스코드를 쉽게 찾을 수 있어요

소스코드를 보면 div태그안li태그가 있고 그 안에 p태그안에 리뷰가 나와있는걸 볼 수 있어요!!

*div(class="score_result") > li > p 이 순서만 잘 알아보면 코드는 쉽게 짤 수 있습니다


2) 코드 설명

 

import requests

from bs4 import BeautifulSoup

r=requests.get("https://movie.naver.com/movie/bi/mi/point.nhn?code=136900") soup=BeautifulSoup(r.content,"html.parser")

- 여기까지는 앞의 포스팅과 똑같은 원리예요

divs=soup.find('div',{'class':"score_result"})

lis=divs.find_all('li')

- 앞에서 소스코드 분석을 통해 얻은 div(class="score_result") > li 부분입니다.

div태그를 찾고 그 안에 있는 모든 li 태그를 찾아주었어요

for li in lis:
	review=li.find('p')
	print(review.text)

- lis는 list형태로 이루어져있기 때문에 lis 리스트에서 li를 하나씩 빼주고

그 안에서 p태그를 찾아주고 그것의 text만 추출해주면 끝!!


전체코드

import requests
from bs4 import BeautifulSoup 

r=requests.get("https://movie.naver.com/movie/bi/mi/point.nhn?code=136900")
soup=BeautifulSoup(r.content,"html.parser")
divs=soup.find('div',{'class':"score_result"}) 

lis=divs.find_all('li') 

for li in lis: 
	review=li.find('p') 
	print(review.text)

 

 

   ​다음 포스팅은 셀레니움을 이용한 자동 로그인 실습을 진행해보도록 하겠습니다.
728x90
Comments