들어가기에 앞서
해당 포스팅은 "파이썬 생활미락형 프로젝트 - 김효실"님의 책을 보고 작성되었음을 알립니다.
3.1 목표
- 눈에 보이는 정보를 파일 형태로 모아두자
- 정보들을 파일 형태로 모아두기 위해서 크롤링 기법을 사용하고 네이버 영화 리뷰를 모아보도록 하자
3.2 사전 준비
- 크롬 브라우저 설치
- 크롤링에 필요한 라이브러리 설치하기
pip install bs4
pip install lxml
(python 파일이 있는 곳을 찾아서 다운받아 주어야 합니다. 앞선 포스팅에 이 방법이 있습니다.)
3.3 사전 지식 쌓기
[크롤링이란?]
- 크롤링은 검색 엔진(네이버, 구글 등)의 데이터 수집 방법을
웹 크롤링
이라고 합니다.
- 웹에 존재하는 사이트를 일일이 방문, 그 내용의 복사본을 저장하고 수집된 정보들은 재가공하여 사용자들이 원하는 검색 결과를 제공합니다.
[크롤링 방법]
- 웹 페이지 정보를 가져온다
- HTML 소스를 파싱(=분석)하여 원하는 정보를 얻는다.
beautifulSoup 라이브러리
- 크롤링에 도움을 주는 라이브러리로 html 코드를 트리 구조로 변환시켜줍니다.
3.4 구현하기
[구현 순서]
- 웹퍼이지 정보 가져오기
- htmp 소스를 파싱(=분석)하여 원하는 정보를 얻기
- 전체 코드 완성하기
1. 웹페이지 정보 가져오기
import requests
from bs4 import BeautifulSoup
url = "https://movie.naver.com/movie/bi/mi/review.naver?code=198413"
res = request.get('url')
2. html 소스 파싱(=분석)해서 원하는 정보 얻기
import requests
from bs4 import BeautifulSoup
url = "https://movie.naver.com/movie/bi/mi/review.naver?code=198413"
res = requests.get('url')
soup = BeautifulSoup(res.text, 'lxml')
ul = soup.find('ul', class_ = "rvw_list_area")
li_list = ul.find_all('li')
cnt = 0
for i in li_list:
cnt += 1
print(f"[{cnt}th]", i.a.string)
- 해당 url의 리스트에 a테그에 있는 text는 리뷰 제목을 가져온다.
요약 & 정리
- 크롤링은 웹 페이지의 복사본을 만드는 기법으로 복사본을 만들기 위해 웹 페이지 정보를 가져오고 필요한 정보를 얻는 위의 두 단계가 필요합니다.