네이버 영화 데이터 평점순 (21-05-03 기준)
네이버 영화 데이터 평점순 (21-05-03 기준)¶
import requests
from bs4 import BeautifulSoup as bs
url = 'https://movie.naver.com/movie/sdb/rank/rmovie.nhn?sel=cur&date=20210503'
Question 1
네이버 영화 평점 순위의 랭킹사이트의 데이터를 requests를 이용하여 가져오고 parsing 하여 soup 변수에 저장하라
soup.head()
[<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>,
<meta content="IE=edge" http-equiv="X-UA-Compatible"/>,
<meta content="http://imgmovie.naver.com/today/naverme/naverme_profile.jpg" property="me2:image"/>,
<meta content="네이버영화 " property="me2:post_tag"/>,
<meta content="네이버영화" property="me2:category1"/>,
<meta content="" property="me2:category2"/>,
<meta content="랭킹 : 네이버 영화" property="og:title"/>,
<meta content="영화, 영화인, 예매, 박스오피스 랭킹 정보 제공" property="og:description"/>,
<meta content="article" property="og:type"/>,
<meta content="https://movie.naver.com/movie/sdb/rank/rmovie.nhn?sel=cur&date=20210503" property="og:url"/>,
<meta content="http://static.naver.net/m/movie/icons/OG_270_270.png" property="og:image"/>,
<meta content="http://imgmovie.naver.com/today/naverme/naverme_profile.jpg" property="og:article:thumbnailUrl"/>,
<meta content="네이버 영화" property="og:article:author"/>,
<meta content="https://movie.naver.com/" property="og:article:author:url"/>,
<link href="https://ssl.pstatic.net/static/m/movie/icons/naver_movie_favicon.ico" rel="shortcut icon" type="image/x-icon"/>,
<title>랭킹 : 네이버 영화</title>,
<link href="/common/css/movie_tablet.css?20210419123311" rel="stylesheet" type="text/css"/>,
<link href="/common/css/common.css?20210419123311" rel="stylesheet" type="text/css"/>,
<link href="/common/css/layout.css?20210419123311" rel="stylesheet" type="text/css"/>,
<link href="/common/css/old_default.css?20210419123311" rel="stylesheet" type="text/css"/>,
<link href="/common/css/old_layout.css?20210419123311" rel="stylesheet" type="text/css"/>,
<link href="/common/css/old_common.css?20210419123311" rel="stylesheet" type="text/css"/>,
<link href="/common/css/old_super_db.css?20210419123311" rel="stylesheet" type="text/css"/>,
<script src="/common/js/default-min.js" type="text/javascript"></script>]
# print(soup.prettify()) -> 구조 골격 지켜가며 출력
Question 2
메타정보에 관한 모든 파싱값을 meta 변수에 저장하라
meta
[<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>,
<meta content="IE=edge" http-equiv="X-UA-Compatible"/>,
<meta content="http://imgmovie.naver.com/today/naverme/naverme_profile.jpg" property="me2:image"/>,
<meta content="네이버영화 " property="me2:post_tag"/>,
<meta content="네이버영화" property="me2:category1"/>,
<meta content="" property="me2:category2"/>,
<meta content="랭킹 : 네이버 영화" property="og:title"/>,
<meta content="영화, 영화인, 예매, 박스오피스 랭킹 정보 제공" property="og:description"/>,
<meta content="article" property="og:type"/>,
<meta content="https://movie.naver.com/movie/sdb/rank/rmovie.nhn?sel=cur&date=20210503" property="og:url"/>,
<meta content="http://static.naver.net/m/movie/icons/OG_270_270.png" property="og:image"/>,
<meta content="http://imgmovie.naver.com/today/naverme/naverme_profile.jpg" property="og:article:thumbnailUrl"/>,
<meta content="네이버 영화" property="og:article:author"/>,
<meta content="https://movie.naver.com/" property="og:article:author:url"/>]
Question 3
랭킹테이블의 모든파싱데이터를 가져와서 lstRanking 변수에 저장하라
lstRanking.find(class_='blind')
<caption class="blind">랭킹 테이블</caption>
Question 4
lstRanking에서 모든 영화의 순위, 이름, 평점, 영화정보링크를 가져와서 데이터프레임을 만들고 movieTable 변수에 저장하라
movieTable.head(5)
rank | title | point | link | |
---|---|---|---|---|
0 | 1 | 레옹 | 9.37 | https://movie.naver.com/movie/bi/mi/basic.nhn?... |
1 | 2 | 다시 태어나도 우리 | 9.35 | https://movie.naver.com/movie/bi/mi/basic.nhn?... |
2 | 3 | 피아니스트 | 9.33 | https://movie.naver.com/movie/bi/mi/basic.nhn?... |
3 | 4 | 미안해요, 리키 | 9.32 | https://movie.naver.com/movie/bi/mi/basic.nhn?... |
4 | 5 | 부활: 그 증거 | 9.31 | https://movie.naver.com/movie/bi/mi/basic.nhn?... |
Question 5
movieTable에 date 컬럼을 추가하여 2021-05-03 을 입력하라
movieTable.head()
rank | title | point | link | date | |
---|---|---|---|---|---|
0 | 1 | 레옹 | 9.37 | https://movie.naver.com/movie/bi/mi/basic.nhn?... | 2021-05-03 |
1 | 2 | 다시 태어나도 우리 | 9.35 | https://movie.naver.com/movie/bi/mi/basic.nhn?... | 2021-05-03 |
2 | 3 | 피아니스트 | 9.33 | https://movie.naver.com/movie/bi/mi/basic.nhn?... | 2021-05-03 |
3 | 4 | 미안해요, 리키 | 9.32 | https://movie.naver.com/movie/bi/mi/basic.nhn?... | 2021-05-03 |
4 | 5 | 부활: 그 증거 | 9.31 | https://movie.naver.com/movie/bi/mi/basic.nhn?... | 2021-05-03 |
Question 6
21년 4월 1일 부터 4월 30일까지 일자별 리스트를 생성하여 하나의 데이터 프레임(변수명 total)에 저장하라. 날짜는 date컬럼에 생성한다.
total.head()
rank | title | point | link | date | |
---|---|---|---|---|---|
0 | 1 | 극장판 바이올렛 에버가든 | 9.48 | https://movie.naver.com/movie/bi/mi/basic.nhn?... | 2021-04-01 |
1 | 2 | 가나의 혼인잔치: 언약 | 9.42 | https://movie.naver.com/movie/bi/mi/basic.nhn?... | 2021-04-01 |
2 | 3 | 반지의 제왕: 왕의 귀환 | 9.38 | https://movie.naver.com/movie/bi/mi/basic.nhn?... | 2021-04-01 |
3 | 4 | 죽은 시인의 사회 | 9.38 | https://movie.naver.com/movie/bi/mi/basic.nhn?... | 2021-04-01 |
4 | 5 | 반지의 제왕: 두 개의 탑 | 9.36 | https://movie.naver.com/movie/bi/mi/basic.nhn?... | 2021-04-01 |
total.tail()
rank | title | point | link | date | |
---|---|---|---|---|---|
1495 | 46 | 팅커 테일러 솔저 스파이 | 8.21 | https://movie.naver.com/movie/bi/mi/basic.nhn?... | 2021-04-30 |
1496 | 47 | 테넷 | 8.17 | https://movie.naver.com/movie/bi/mi/basic.nhn?... | 2021-04-30 |
1497 | 48 | 문라이즈 킹덤 | 8.11 | https://movie.naver.com/movie/bi/mi/basic.nhn?... | 2021-04-30 |
1498 | 49 | 날씨의 아이 | 7.95 | https://movie.naver.com/movie/bi/mi/basic.nhn?... | 2021-04-30 |
1499 | 50 | 비와 당신의 이야기 | 7.93 | https://movie.naver.com/movie/bi/mi/basic.nhn?... | 2021-04-30 |
Question 7
total 데이터에서 일자별 3위 rank의 데이터를 rankThree 변수에 저장하라
rankThree.head(5)
rank | title | point | link | date | |
---|---|---|---|---|---|
0 | 3 | 반지의 제왕: 왕의 귀환 | 9.38 | https://movie.naver.com/movie/bi/mi/basic.nhn?... | 2021-04-01 |
1 | 3 | 소년시절의 너 | 9.39 | https://movie.naver.com/movie/bi/mi/basic.nhn?... | 2021-04-02 |
2 | 3 | 소년시절의 너 | 9.39 | https://movie.naver.com/movie/bi/mi/basic.nhn?... | 2021-04-03 |
3 | 3 | 소년시절의 너 | 9.39 | https://movie.naver.com/movie/bi/mi/basic.nhn?... | 2021-04-04 |
4 | 3 | 반지의 제왕: 왕의 귀환 | 9.38 | https://movie.naver.com/movie/bi/mi/basic.nhn?... | 2021-04-05 |
Question 8
해당기간동안 랭킹 1위 영화들의 그 횟수를 구하여라
count
counts | |
---|---|
극장판 바이올렛 에버가든 | 22 |
부활: 그 증거 | 6 |
레옹 | 2 |
Question 9
데이터를 재구성하여 일자별 랭킹의 영화 제목을 출력하라
rebuild.head(5)
date | 2021-04-01 | 2021-04-02 | 2021-04-03 | 2021-04-04 | 2021-04-05 | 2021-04-06 | 2021-04-07 | 2021-04-08 | 2021-04-09 | 2021-04-10 | 2021-04-11 | 2021-04-12 | 2021-04-13 | 2021-04-14 | 2021-04-15 | 2021-04-16 | 2021-04-17 | 2021-04-18 | 2021-04-19 | 2021-04-20 | 2021-04-21 | 2021-04-22 | 2021-04-23 | 2021-04-24 | 2021-04-25 | 2021-04-26 | 2021-04-27 | 2021-04-28 | 2021-04-29 | 2021-04-30 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
rank | ||||||||||||||||||||||||||||||
1 | 극장판 바이올렛 에버가든 | 극장판 바이올렛 에버가든 | 극장판 바이올렛 에버가든 | 극장판 바이올렛 에버가든 | 극장판 바이올렛 에버가든 | 극장판 바이올렛 에버가든 | 극장판 바이올렛 에버가든 | 극장판 바이올렛 에버가든 | 극장판 바이올렛 에버가든 | 극장판 바이올렛 에버가든 | 극장판 바이올렛 에버가든 | 극장판 바이올렛 에버가든 | 극장판 바이올렛 에버가든 | 극장판 바이올렛 에버가든 | 부활: 그 증거 | 부활: 그 증거 | 부활: 그 증거 | 부활: 그 증거 | 부활: 그 증거 | 부활: 그 증거 | 극장판 바이올렛 에버가든 | 극장판 바이올렛 에버가든 | 극장판 바이올렛 에버가든 | 극장판 바이올렛 에버가든 | 극장판 바이올렛 에버가든 | 레옹 | 레옹 | 극장판 바이올렛 에버가든 | 극장판 바이올렛 에버가든 | 극장판 바이올렛 에버가든 |
2 | 가나의 혼인잔치: 언약 | 가나의 혼인잔치: 언약 | 가나의 혼인잔치: 언약 | 가나의 혼인잔치: 언약 | 가나의 혼인잔치: 언약 | 가나의 혼인잔치: 언약 | 가나의 혼인잔치: 언약 | 가나의 혼인잔치: 언약 | 가나의 혼인잔치: 언약 | 가나의 혼인잔치: 언약 | 가나의 혼인잔치: 언약 | 가나의 혼인잔치: 언약 | 가나의 혼인잔치: 언약 | 반지의 제왕: 왕의 귀환 | 패왕별희 디 오리지널 | 패왕별희 디 오리지널 | 패왕별희 디 오리지널 | 패왕별희 디 오리지널 | 패왕별희 디 오리지널 | 패왕별희 디 오리지널 | 부활: 그 증거 | 부활: 그 증거 | 레옹 | 레옹 | 레옹 | 다시 태어나도 우리 | 다시 태어나도 우리 | 레옹 | 레옹 | 레옹 |
3 | 반지의 제왕: 왕의 귀환 | 소년시절의 너 | 소년시절의 너 | 소년시절의 너 | 반지의 제왕: 왕의 귀환 | 반지의 제왕: 왕의 귀환 | 반지의 제왕: 왕의 귀환 | 반지의 제왕: 왕의 귀환 | 반지의 제왕: 왕의 귀환 | 반지의 제왕: 왕의 귀환 | 반지의 제왕: 왕의 귀환 | 반지의 제왕: 왕의 귀환 | 반지의 제왕: 왕의 귀환 | 죽은 시인의 사회 | 극장판 귀멸의 칼날: 무한열차편 | 극장판 귀멸의 칼날: 무한열차편 | 극장판 귀멸의 칼날: 무한열차편 | 극장판 귀멸의 칼날: 무한열차편 | 극장판 귀멸의 칼날: 무한열차편 | 극장판 귀멸의 칼날: 무한열차편 | 패왕별희 디 오리지널 | 패왕별희 디 오리지널 | 부활: 그 증거 | 부활: 그 증거 | 부활: 그 증거 | 피아니스트 | 부활: 그 증거 | 다시 태어나도 우리 | 다시 태어나도 우리 | 다시 태어나도 우리 |
4 | 죽은 시인의 사회 | 반지의 제왕: 왕의 귀환 | 반지의 제왕: 왕의 귀환 | 반지의 제왕: 왕의 귀환 | 죽은 시인의 사회 | 죽은 시인의 사회 | 죽은 시인의 사회 | 죽은 시인의 사회 | 죽은 시인의 사회 | 죽은 시인의 사회 | 죽은 시인의 사회 | 죽은 시인의 사회 | 죽은 시인의 사회 | 반지의 제왕: 두 개의 탑 | 소울 | 소울 | 소울 | 소울 | 소울 | 소울 | 극장판 귀멸의 칼날: 무한열차편 | 극장판 귀멸의 칼날: 무한열차편 | 피아니스트 | 피아니스트 | 피아니스트 | 패왕별희 디 오리지널 | 피아니스트 | 부활: 그 증거 | 부활: 그 증거 | 부활: 그 증거 |
5 | 반지의 제왕: 두 개의 탑 | 죽은 시인의 사회 | 죽은 시인의 사회 | 죽은 시인의 사회 | 반지의 제왕: 두 개의 탑 | 반지의 제왕: 두 개의 탑 | 반지의 제왕: 두 개의 탑 | 반지의 제왕: 두 개의 탑 | 반지의 제왕: 두 개의 탑 | 반지의 제왕: 두 개의 탑 | 반지의 제왕: 두 개의 탑 | 반지의 제왕: 두 개의 탑 | 반지의 제왕: 두 개의 탑 | 패왕별희 디 오리지널 | 천녀유혼 | 천녀유혼 | 천녀유혼 | 천녀유혼 | 자산어보 | 자산어보 | 소울 | 소울 | 패왕별희 디 오리지널 | 패왕별희 디 오리지널 | 패왕별희 디 오리지널 | 극장판 귀멸의 칼날: 무한열차편 | 패왕별희 디 오리지널 | 피아니스트 | 피아니스트 | 피아니스트 |