영화 스포트라이트

추가 feature뽑기 : 감독, 주연, 평가자수, 보고싶어요 수, 코멘트수, 별점 분포(히스토그램), 장르(여러개)

아직못함 : 이동진평점, 왓챠 예상별점


In [1]:
import requests
from bs4 import BeautifulSoup
import pandas as pd

In [2]:
response = requests.get("https://watcha.net/mv/spotlight-2015")

In [3]:
dom = BeautifulSoup(response.content, 'html.parser')
dom


Out[3]:
<!DOCTYPE html>

<html>
<head>
<link href="http://watcha.net/favicon.ico?v=2" rel="shortcut icon" type="image/vnd.microsoft.icon"/>
<meta content="IE=Edge" http-equiv="X-UA-Compatible"/>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","errorBeacon":"bam.nr-data.net","licenseKey":"dd6f649abc","applicationID":"1592190","transactionName":"JQkLQxYMW1xWQBYIDBAPABgABkNRWl4=","queueTime":0,"applicationTime":183,"agent":""}</script>
<script type="text/javascript">window.NREUM||(NREUM={}),__nr_require=function(e,t,n){function r(n){if(!t[n]){var o=t[n]={exports:{}};e[n][0].call(o.exports,function(t){var o=e[n][1][t];return r(o||t)},o,o.exports)}return t[n].exports}if("function"==typeof __nr_require)return __nr_require;for(var o=0;o<n.length;o++)r(n[o]);return r}({QJf3ax:[function(e,t){function n(){}function r(e){function t(e){return e&&e instanceof n?e:e?a(e,i,o):o()}function s(n,r,o){e&&e(n,r,o);for(var i=t(o),a=l(n),u=a.length,f=0;u>f;f++)a[f].apply(i,r);var s=c[w[n]];return s&&s.push([h,n,r,i]),i}function p(e,t){g[e]=l(e).concat(t)}function l(e){return g[e]||[]}function d(e){return f[e]=f[e]||r(s)}function v(e,t){u(e,function(e,n){t=t||"feature",w[n]=t,t in c||(c[t]=[])})}var g={},w={},h={on:p,emit:s,get:d,listeners:l,context:t,buffer:v};return h}function o(){return new n}var i="nr@context",a=e("gos"),u=e(1),c={},f={},s=t.exports=r();s.backlog=c},{1:12,gos:"7eSDFh"}],ee:[function(e,t){t.exports=e("QJf3ax")},{}],3:[function(e,t){function n(e,t){return function(){r(e,[(new Date).getTime()].concat(i(arguments)),null,t)}}var r=e("handle"),o=e(1),i=e(2);"undefined"==typeof window.newrelic&&(newrelic=NREUM);var a=["setPageViewName","addPageAction","setCustomAttribute","finished","addToTrace","inlineHit"],u=["addPageAction"],c="api-";o(a,function(e,t){newrelic[t]=n(c+t,"api")}),o(u,function(e,t){newrelic[t]=n(c+t)}),t.exports=newrelic,newrelic.noticeError=function(e){"string"==typeof e&&(e=new Error(e)),r("err",[e,(new Date).getTime()])}},{1:12,2:13,handle:"D5DuLP"}],gos:[function(e,t){t.exports=e("7eSDFh")},{}],"7eSDFh":[function(e,t){function n(e,t,n){if(r.call(e,t))return e[t];var o=n();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:o,writable:!0,enumerable:!1}),o}catch(i){}return e[t]=o,o}var r=Object.prototype.hasOwnProperty;t.exports=n},{}],handle:[function(e,t){t.exports=e("D5DuLP")},{}],D5DuLP:[function(e,t){function n(e,t,n,o){r.buffer([e],o),r.emit(e,t,n)}var r=e("ee").get("handle");t.exports=n,n.ee=r},{ee:"QJf3ax"}],XL7HBI:[function(e,t){function n(e){var t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===window?0:i(e,o,function(){return r++})}var r=1,o="nr@id",i=e("gos");t.exports=n},{gos:"7eSDFh"}],id:[function(e,t){t.exports=e("XL7HBI")},{}],G9z0Bl:[function(e,t){function n(){if(!v++){var e=d.info=NREUM.info,t=f.getElementsByTagName("script")[0];if(e&&e.licenseKey&&e.applicationID&&t){u(p,function(t,n){e[t]||(e[t]=n)});var n="https"===s.split(":")[0]||e.sslForHttp;d.proto=n?"https://":"http://",a("mark",["onload",i()],null,"api");var r=f.createElement("script");r.src=d.proto+e.agent,t.parentNode.insertBefore(r,t)}}}function r(){"complete"===f.readyState&&o()}function o(){a("mark",["domContent",i()],null,"api")}function i(){return(new Date).getTime()}var a=e("handle"),u=e(1),c=window,f=c.document;NREUM.o={ST:setTimeout,XHR:c.XMLHttpRequest,REQ:c.Request,EV:c.Event,PR:c.Promise,MO:c.MutationObserver},e(2);var s=(""+location).split("?")[0],p={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net",agent:"js-agent.newrelic.com/nr-885.min.js"},l=window.XMLHttpRequest&&XMLHttpRequest.prototype&&XMLHttpRequest.prototype.addEventListener&&!/CriOS/.test(navigator.userAgent),d=t.exports={offset:i(),origin:s,features:{},xhrWrappable:l};f.addEventListener?(f.addEventListener("DOMContentLoaded",o,!1),c.addEventListener("load",n,!1)):(f.attachEvent("onreadystatechange",r),c.attachEvent("onload",n)),a("mark",["firstbyte",i()],null,"api");var v=0},{1:12,2:3,handle:"D5DuLP"}],loader:[function(e,t){t.exports=e("G9z0Bl")},{}],12:[function(e,t){function n(e,t){var n=[],o="",i=0;for(o in e)r.call(e,o)&&(n[i]=t(o,e[o]),i+=1);return n}var r=Object.prototype.hasOwnProperty;t.exports=n},{}],13:[function(e,t){function n(e,t,n){t||(t=0),"undefined"==typeof n&&(n=e?e.length:0);for(var r=-1,o=n-t||0,i=Array(0>o?0:o);++r<o;)i[r]=e[t+r];return i}t.exports=n},{}]},{},["G9z0Bl"]);</script>
<meta content="text/javascript" http-equiv="Content-Script-Type"/>
<meta content="text/css" http-equiv="Content-Style-Type"/>
<meta name="google" value="notranslate"/>
<title>스포트라이트 (2015) :: 왓챠</title>
<meta content="미국의 3대 일간지 중 하나인 보스턴 글로브 내 ‘스포트라이트’팀은 가톨릭 보스턴 교구 사제들의 아동 성추행 사건을 취재한다. 하지만 사건을 파헤치려 할수록 더욱 굳건히 닫히는 진실의 장벽. 결코 좌절할 수 없었던 끈질긴 ‘스포트라이트’팀은 추적을 멈추지 않고, 마침내 성스러운 이름 속에 감춰졌던 사제들의 얼굴이 드러나는데..." name="description"/>
<meta content="스포트라이트 (2015)" name="twitter:title"/>
<meta content="644185507" name="twitter:app:id:ipad"/>
<meta content="644185507" name="twitter:app:id:iphone"/>
<meta content="watcha://" name="twitter:app:url:googleplay"/>
<meta content="watcha://" name="twitter:app:url:ipad"/>
<meta content="watcha://" name="twitter:app:url:iphone"/>
<meta content="summary_large_image" name="twitter:card"/>
<meta content="com.frograms.watcha" name="twitter:app:id:googleplay"/>
<meta content="미국의 3대 일간지 중 하나인 보스턴 글로브 내 ‘스포트라이트’팀은 가톨릭 보스턴 교구 사제들의 아동 성추행 사건을 취재한다. 하지만 사건을 파헤치려 할수록 더욱 굳건히 닫히는 진실의 장벽. 결코 좌절할 수 없었던 끈질긴 ‘스포트라이트’팀은 추적을 멈추지 않고, 마침내 성스러운 이름 속에 감춰졌던 사제들의 얼굴이 드러나는데..." name="twitter:description"/>
<meta content="https://d12hfz37g51hrt.cloudfront.net/s/large/-e06ad83eccfec1c4f6c7.jpg?1456136663" name="twitter:image:src"/>
<meta content="왓챠 - 영화관 갈 때 필수앱 (영화추천/무료시사회)" name="twitter:app:name:googleplay"/>
<meta content="@watcha_app" name="twitter:site"/>
<meta content="@watcha_app" name="twitter:creator"/>
<meta content="watcha.net" name="twitter:domain"/>
<meta content="영화관 갈 때 필수앱 - 왓챠(맞춤 영화 추천)" name="twitter:app:name:iphone"/>
<meta content="영화관 갈 때 필수앱 - 왓챠(맞춤 영화 추천)" name="twitter:app:name:ipad"/>
<meta content="126765124079533" property="fb:app_id"/>
<meta content="https://watcha.net/mv/spotlight-2015/mnp3sa" property="og:url"/>
<meta content="https://d12hfz37g51hrt.cloudfront.net/s/xlarge/-e06ad83eccfec1c4f6c7.jpg?1456136663" property="og:image"/>
<meta content="미국의 3대 일간지 중 하나인 보스턴 글로브 내 ‘스포트라이트’팀은 가톨릭 보스턴 교구 사제들의 아동 성추행 사건을 취재한다. 하지만 사건을 파헤치려 할수록 더욱 굳건히 닫히는 진실의 장벽. 결코 좌절할 수 없었던 끈질긴 ‘스포트라이트’팀은 추적을 멈추지 않고, 마침내 성스러운 이름 속에 감춰졌던 사제들의 얼굴이 드러나는데..." property="og:description"/>
<meta content="video.movie" property="og:type"/>
<meta content="스포트라이트 (2015)" property="og:title"/>
<link href="/movies/mnp3sa" rel="alternate"/>
<link href="https://d12hfz37g51hrt.cloudfront.net/assets/application/detail_page-51406cf5f39aad6e114cacaaace70882.css" media="screen" rel="stylesheet" type="text/css"/>
<!--[if lt IE 9]>
    <script src="https://d12hfz37g51hrt.cloudfront.net/assets/ie/html5shiv-af99d00a102b8b477e519f8256d41cf5.js" type="text/javascript"></script>
    <![endif]-->
<!--[if lte IE 8]>
    <script charset="utf-8" src="https://d12hfz37g51hrt.cloudfront.net/assets/r2d3.min-100ffbe5488304796fdb7ecb5e4397ca.js" type="text/javascript"></script>
    <![endif]-->
<!--[if gte IE 9]><!-->
<script src="https://d12hfz37g51hrt.cloudfront.net/assets/d3.min-207c99244c96d9e357c59b3765242a54.js" type="text/javascript"></script>
<!--<![endif]-->
<script src="https://d12hfz37g51hrt.cloudfront.net/assets/v2/detail_page-cefa9d616475dd0fb2ec2f105924c706.js" type="text/javascript"></script>
<meta content="authenticity_token" name="csrf-param"/>
<meta content="xEjqHLmXGlFu584+r1PfQZ+0IjS8z/W92x56Z88r4hI=" name="csrf-token"/>
<script>
$(function() {
  UserVoice=window.UserVoice||[];(function(){var uv=document.createElement('script');uv.type='text/javascript';uv.async=true;uv.src='//widget.uservoice.com/PN1NQAWEP4cb8TbAbcg.js';var s=document.getElementsByTagName('script')[0];s.parentNode.insertBefore(uv,s)})();

  UserVoice.push(['set', {
    accent_color: '#ff382e',
    trigger_color: 'white',
    trigger_background_color: '#ff382e',
    screenshot_enabled: false
  }]);


  UserVoice.push(['addTrigger', { mode: 'contact', trigger_position: 'bottom-left' }]);

  UserVoice.push(['autoprompt', {}]);
});
</script>
<script type="text/javascript">
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-27006241-2', 'auto');

  ga('set', 'dimension1', 'visitor')
  ga('set', 'dimension2', '0')
  ga('set', 'dimension3', '0')
  ga('set', 'dimension4', 'Visitor')
  ga('set', 'dimension5', '52.79.109.64')

  var HALF_STAR = "half"
  var halfStarToUa = 'half_b'

  ga('set', 'dimension6', halfStarToUa)
  ga('set', 'dimension7', 'n/a');

  ga('send', 'pageview');
</script>
<script src="https://www.google.com/jsapi" type="text/javascript"></script>
</head>
<body class="landing">
<div class="visitor " id="header">
<div class="for-popup-scroll-area-margin">
<div class="inner responsive-mask">
<ul class="gnb clearfix">
<li class="navi-item home ">
<a href="/">
<img height="30" src="https://d12hfz37g51hrt.cloudfront.net/assets/bi/icon_40-bbbbf35a3c9f8585a655f18925488424.png" width="30">
</img></a>
<span class="highlight"></span>
</li>
<li class="navi-item boxoffice ">
<a href="/boxoffice">박스오피스</a>
<span class="highlight"></span>
</li>
<li class="navi-item genre ">
<a href="/recommendation">추천영화</a>
<span class="highlight"></span>
</li>
<li class="navi-item evalmore ">
<a href="/evalmore">평가늘리기</a>
<span class="highlight"></span>
</li>
</ul>
<div class="right-menu" id="gnb-right-menu">
<ol class="gnb">
<li class="facebook">
<a class="gnb_item" href="#" onclick="snsconnect('facebook', location.pathname); return false;">
      페이스북으로 1초만에 가입
    </a>
</li>
<li class="mail">
<a class="gnb_item" href="/join">
      이메일로 10초만에 가입
    </a>
</li>
<li class="login">
<a class="gnb_item" href="/login">로그인</a>
</li>
</ol>
</div>
</div>
</div>
</div>
<script type="text/javascript">
</script>
<div id="contents">
<div class="movie-detail-container">
<div class="movie-detail mnp3sa detail-page ">
<div class="top-area">
<div class="biggest-stillcut ">
<ul class="bjqs">
<li class="slider-item"><img height="100%" src="https://d12hfz37g51hrt.cloudfront.net/s/large/-e06ad83eccfec1c4f6c7.jpg?1456136663" width="100%"/></li>
<li class="slider-item"><img height="100%" src="https://d12hfz37g51hrt.cloudfront.net/s/large/-36007e7337ee67b1bf0d.jpg?1456136663" width="100%"/></li>
<li class="slider-item"><img height="100%" src="https://d12hfz37g51hrt.cloudfront.net/s/large/-70adb7a9380c27fb95fe.jpg?1456136663" width="100%"/></li>
<li class="slider-item"><img height="100%" src="https://d12hfz37g51hrt.cloudfront.net/s/large/-fa2bdeccfb23a355e7d1.jpg?1456136663" width="100%"/></li>
<li class="slider-item"><img height="100%" src="https://d12hfz37g51hrt.cloudfront.net/s/large/-39ffbf61d02486b1bbb1.jpg?1456136663" width="100%"/></li>
<li class="slider-item"><img height="100%" src="https://d12hfz37g51hrt.cloudfront.net/s/large/-9bcc8769fcc6a4c0ae81.jpg?1456136663" width="100%"/></li>
</ul>
</div>
<div class="stillcut-shadow"></div>
<div class="running-info">
<div class="item booking-rate">
<div class="head">예매율</div>
<div class="data"><span class="number">3.18</span>%</div>
<span class="divider"></span>
</div>
<div class="item customer-count">
<div class="head">누적관객수</div>
<div class="data">226,737</div>
<span class="divider"></span>
</div>
<div class="item d-day">
<div class="head">개봉일</div>
<div class="data english">D +12</div>
</div>
</div>
<div class="booking-button book"><span class="icon"></span>예매하기</div>
<ul class="reservation-list list-tooltip">
<span class="arrow"></span>
<li class="lotte-cinema" data-enable="true" data-theater="lotte-cinema" data-theater-label="LOTTE" data-url="http://www.lottecinema.co.kr/LHS/LHFS/Contents/MovieInfo/MovieInfoContent.aspx?MovieInfoCode=94450"></li>
<li class="megabox" data-enable="true" data-theater="megabox" data-theater-label="MEGABOX" data-url="http://www.megabox.co.kr/?show=detail&amp;rtnShowMovieCode=010214"></li>
</ul>
</div>
<div class="cise-wrapper" itemscope="" itemtype="http://data-vocabulary.org/review-aggregate">
<div id="detailWatchaCard" style="display:none;"></div>
<script type="text/javascript">
      var movieDetailWrapper = $('.movie-detail.mnp3sa.detail-page')
      var detailWatchaCard = movieDetailWrapper.find('#detailWatchaCard')
      $.ajax({
        url: '/movie/mnp3sa.json',
        success: function(movie){
          card = new MovieCard('poster_movie_card', '1x1', movie.items[0], {
            preventDetailPopup: true,
            hidePredictedRating: true
          });0
          detailWatchaCard.append(card.el);
          detailWatchaCard.show();
        }
      })
      </script>
<div class="info">
<div class="title" itemprop="itemreviewed">스포트라이트</div>
</div>
<div class="social">
<div class="fb-like" data-action="like" data-href="https://watcha.net/mv/spotlight-2015/mnp3sa" data-layout="button_count" data-share="false" data-show-faces="false"></div>
<a class="twitter-share-button plugin" data-lang="en" data-related="watcha_app" data-text="스포트라이트 (2015) #왓챠" data-url="https://watcha.net/mv/spotlight-2015/mnp3sa" href="https://twitter.com/share">tweet</a>
</div>
<script>
      try{
        FB.XFBML.parse();
      }catch(ex){}
      try{
        twttr.widgets.load();
      }catch(ex){}
      </script>
<div class="desc">Spotlight, 2015, 미국, 드라마, 스릴러, 15세 관람가, 2시간 8분</div>
<div class="watcha-rating-wrapper">
<span class="watcha-rating"></span>
<span class="number" itemprop="rating">4.2</span>
<span class="eval-count" itemprop="votes">(12,747명 참여)</span>
</div>
<div class="eval-stats ">
<div class="cumulative-count">
<span class="rate"><span class="icon"></span>12,747</span>
<span class="wish"><span class="icon"></span>9,771</span>
<span class="review"><span class="icon"></span>2,530</span>
</div>
<div class="rating-chart-wrapper" data-distribution='{"1":7,"2":14,"3":10,"4":46,"5":81,"6":439,"7":1442,"8":4218,"9":4428,"10":2062}'>
</div>
<div class="alba-caution-wrapper">
<div class="icon">아이콘</div>
<div class="message">특정 취향의 사용자들이 몰려 있어요.<br/>내 취향을 반영한 <span class="point">'예상별점'</span>을 참고하세요!</div>
</div>
</div>
</div>
<div class="west">
<h5>줄거리</h5>
<div class="story">미국의 3대 일간지 중 하나인 보스턴 글로브 내 ‘스포트라이트’팀은 가톨릭 보스턴 교구 사제들의 아동 성추행 사건을 취재한다. 하지만 사건을 파헤치려 할수록 더욱 굳건히 닫히는 진실의 장벽. 결코 좌절할 수 없었던 끈질긴 ‘스포트라이트’팀은 추적을 멈추지 않고, 마침내 성스러운 이름 속에 감춰졌던 사제들의 얼굴이 드러나는데...</div>
<h5 class="all-review heading">코멘트
        <span class="count">(-)</span>
<div class="sort-button">정렬</div>
<ul class="sort-list list-tooltip">
<span class="arrow"></span>
<li data-sort="like"><a href="#" onclick="return false;">좋아요 순</a></li>
<li data-sort="new"><a href="#" onclick="return false;">최신 순</a></li>
<li data-sort="asc"><a href="#" onclick="return false;">별점 낮은 순</a></li>
</ul>
</h5>
<ul class="all-review review-list"></ul>
<div class="all-review more">더보기</div>
<div class="all-review spinner" id="review-loader-container-mnp3sa" style="display:none;"></div>
<h5 class="similar-movie-heading">비슷한 영화</h5>
<ul class="similar-movie-list"><li class="clear"></li></ul>
<div class="similar-movie more">더보기</div>
<div class="similar-movie spinner" id="sm-loader-container-mnp3sa" style="display:none;"></div>
</div>
<div class="east">
<h5>예고편</h5>
<ul class="trailer-list">
<li class="trailer-item" data-youtube-id="56jw6tasomc">
<img class="stillcut" height="130" src="http://img.youtube.com/vi/56jw6tasomc/0.jpg" width="190">
<div class="stillcut-black-layer"></div>
<span class="play-icon">재생하기</span>
</img></li>
</ul>
<h5>감독</h5>
<ul class="movie-people">
<li class="movie-person director">
<a class="kor-name popup-involve-movies" data-person-id="307626" href="javascript:void(0)"><img class="pic" height="40" src="https://d12hfz37g51hrt.cloudfront.net/ppl/medium/391271258c2b81a425d4.jpg?1453392519" width="40"/></a>
<a class="kor-name popup-involve-movies" data-person-id="307626" href="javascript:void(0)">토마스 맥카시</a>
<span class="eng-name">Thomas McCarthy</span>
</li>
</ul>
<h5>주연</h5>
<ul class="movie-people">
<li class="movie-person actor">
<a class="kor-name popup-involve-movies" data-person-id="210945" href="javascript:void(0)"><img class="pic" height="40" onerror="this.src = 'https://d12hfz37g51hrt.cloudfront.net/assets/default/movie_person/photo_n_cr-cfaf551bd17e67d9d8c450bf7bc5c9d9.jpg';return false;" src="https://d12hfz37g51hrt.cloudfront.net/ppl/medium/a4d30825aa446e51f921.jpg?1436206648" width="40"/></a>
<a class="kor-name popup-involve-movies" data-person-id="210945" href="javascript:void(0)">마이클 키튼</a>
<span class="kor-role">월터 로빈슨 역</span>
<span class="eng-name">Michael Keaton</span>
</li>
<li class="movie-person actor">
<a class="kor-name popup-involve-movies" data-person-id="287275" href="javascript:void(0)"><img class="pic" height="40" onerror="this.src = 'https://d12hfz37g51hrt.cloudfront.net/assets/default/movie_person/photo_n_cr-cfaf551bd17e67d9d8c450bf7bc5c9d9.jpg';return false;" src="https://d12hfz37g51hrt.cloudfront.net/ppl/medium/e93d95e96a42a3a6d772.jpg?1436217051" width="40"/></a>
<a class="kor-name popup-involve-movies" data-person-id="287275" href="javascript:void(0)">마크 러팔로</a>
<span class="kor-role">마이크 레젠데스 역</span>
<span class="eng-name">Mark Ruffalo</span>
</li>
<li class="movie-person actor">
<a class="kor-name popup-involve-movies" data-person-id="53739" href="javascript:void(0)"><img class="pic" height="40" onerror="this.src = 'https://d12hfz37g51hrt.cloudfront.net/assets/default/movie_person/photo_n_cr-cfaf551bd17e67d9d8c450bf7bc5c9d9.jpg';return false;" src="https://d12hfz37g51hrt.cloudfront.net/ppl/medium/544808dc3704398a9d31.jpg?1436037316" width="40"/></a>
<a class="kor-name popup-involve-movies" data-person-id="53739" href="javascript:void(0)">레이첼 맥아담스</a>
<span class="kor-role">샤샤 파이퍼 역</span>
<span class="eng-name">Rachel McAdams</span>
</li>
<li class="movie-person actor">
<a class="kor-name popup-involve-movies" data-person-id="200731" href="javascript:void(0)"><img class="pic" height="40" onerror="this.src = 'https://d12hfz37g51hrt.cloudfront.net/assets/default/movie_person/photo_n_cr-cfaf551bd17e67d9d8c450bf7bc5c9d9.jpg';return false;" src="https://d12hfz37g51hrt.cloudfront.net/ppl/medium/1de009127348b83b6592.jpg?1436204882" width="40"/></a>
<a class="kor-name popup-involve-movies" data-person-id="200731" href="javascript:void(0)">리브 슈라이버</a>
<span class="kor-role">마티 배런 역</span>
<span class="eng-name">Liev Schreiber</span>
</li>
</ul>
<h5>조연</h5>
<ul class="movie-people">
<li class="movie-person actor">
<a class="kor-name popup-involve-movies" data-person-id="117946" href="javascript:void(0)"><img class="pic" height="40" onerror="this.src = 'https://d12hfz37g51hrt.cloudfront.net/assets/default/movie_person/photo_n_cr-cfaf551bd17e67d9d8c450bf7bc5c9d9.jpg';return false;" src="https://d12hfz37g51hrt.cloudfront.net/ppl/medium/19678f955c5cf2943702.jpg?1436186766" width="40"/></a>
<a class="kor-name popup-involve-movies" data-person-id="117946" href="javascript:void(0)">존 슬래터리</a>
<span class="kor-role">벤 브래들리 주니어 역</span>
<span class="eng-name">John Slattery</span>
</li>
<li class="movie-person actor">
<a class="kor-name popup-involve-movies" data-person-id="18361" href="javascript:void(0)"><img class="pic" height="40" onerror="this.src = 'https://d12hfz37g51hrt.cloudfront.net/assets/default/movie_person/photo_n_cr-cfaf551bd17e67d9d8c450bf7bc5c9d9.jpg';return false;" src="https://d12hfz37g51hrt.cloudfront.net/ppl/medium/1d838612ca5f29758b6c.jpg?1436013761" width="40"/></a>
<a class="kor-name popup-involve-movies" data-person-id="18361" href="javascript:void(0)">스탠리 투치</a>
<span class="kor-role">미첼 개러비디언 역</span>
<span class="eng-name">Stanley Tucci</span>
</li>
<li class="movie-person actor">
<a class="kor-name popup-involve-movies" data-person-id="315424" href="javascript:void(0)"><img class="pic" height="40" onerror="this.src = 'https://d12hfz37g51hrt.cloudfront.net/assets/default/movie_person/photo_n_cr-cfaf551bd17e67d9d8c450bf7bc5c9d9.jpg';return false;" src="https://d12hfz37g51hrt.cloudfront.net/ppl/medium/a360628f86933c17bf2f.jpg?1436221088" width="40"/></a>
<a class="kor-name popup-involve-movies" data-person-id="315424" href="javascript:void(0)">브라이언 다아시 제임스</a>
<span class="kor-role">맷 캐롤 역</span>
<span class="eng-name">Brian d'Arcy James</span>
</li>
<li class="movie-person actor">
<a class="kor-name popup-involve-movies" data-person-id="133378" href="javascript:void(0)"><img class="pic" height="40" onerror="this.src = 'https://d12hfz37g51hrt.cloudfront.net/assets/default/movie_person/photo_n_cr-cfaf551bd17e67d9d8c450bf7bc5c9d9.jpg';return false;" src="https://d12hfz37g51hrt.cloudfront.net/assets/default/movie_person/photo_medium-02320b4370599716acd5ce486f1f1dae.jpg?1344076056" width="40"/></a>
<a class="kor-name popup-involve-movies" data-person-id="133378" href="javascript:void(0)">엘레나 울</a>
<span class="kor-role">바바라 역</span>
<span class="eng-name">Elena Wohl</span>
</li>
<li class="movie-person actor">
<a class="kor-name popup-involve-movies" data-person-id="72883" href="javascript:void(0)"><img class="pic" height="40" onerror="this.src = 'https://d12hfz37g51hrt.cloudfront.net/assets/default/movie_person/photo_n_cr-cfaf551bd17e67d9d8c450bf7bc5c9d9.jpg';return false;" src="https://d12hfz37g51hrt.cloudfront.net/ppl/medium/53adad896b105a9ef711.jpg?1436180120" width="40"/></a>
<a class="kor-name popup-involve-movies" data-person-id="72883" href="javascript:void(0)">제이미 쉐리던</a>
<span class="kor-role">짐 설리반 역</span>
<span class="eng-name">Jamey Sheridan</span>
</li>
<li class="movie-person actor" style="display:none;">
<a class="kor-name popup-involve-movies" data-person-id="120212" href="javascript:void(0)"><img class="pic" height="40" onerror="this.src = 'https://d12hfz37g51hrt.cloudfront.net/assets/default/movie_person/photo_n_cr-cfaf551bd17e67d9d8c450bf7bc5c9d9.jpg';return false;" src="https://d12hfz37g51hrt.cloudfront.net/ppl/medium/c80ec08eb5f560efedf9.jpg?1436187055" width="40"/></a>
<a class="kor-name popup-involve-movies" data-person-id="120212" href="javascript:void(0)">빌리 크루덥</a>
<span class="kor-role">에릭 맥클레쉬 역</span>
<span class="eng-name">Billy Crudup</span>
</li>
<li class="movie-person actor" style="display:none;">
<a class="kor-name popup-involve-movies" data-person-id="6649" href="javascript:void(0)"><img class="pic" height="40" onerror="this.src = 'https://d12hfz37g51hrt.cloudfront.net/assets/default/movie_person/photo_n_cr-cfaf551bd17e67d9d8c450bf7bc5c9d9.jpg';return false;" src="https://d12hfz37g51hrt.cloudfront.net/ppl/medium/fa55cd5f91ed2ddc6067.jpg?1436011136" width="40"/></a>
<a class="kor-name popup-involve-movies" data-person-id="6649" href="javascript:void(0)">렌 카리오우</a>
<span class="kor-role"></span>
<span class="eng-name">Len Cariou</span>
</li>
<li class="movie-person actor" style="display:none;">
<a class="kor-name popup-involve-movies" data-person-id="29774" href="javascript:void(0)"><img class="pic" height="40" onerror="this.src = 'https://d12hfz37g51hrt.cloudfront.net/assets/default/movie_person/photo_n_cr-cfaf551bd17e67d9d8c450bf7bc5c9d9.jpg';return false;" src="https://d12hfz37g51hrt.cloudfront.net/ppl/medium/cf1971da0a3500dba9de.jpg?1436015623" width="40"/></a>
<a class="kor-name popup-involve-movies" data-person-id="29774" href="javascript:void(0)">폴 가일포일</a>
<span class="kor-role">피트 콘리 역</span>
<span class="eng-name">Paul Guilfoyle</span>
</li>
<li class="movie-person actor" style="display:none;">
<a class="kor-name popup-involve-movies" data-person-id="233924" href="javascript:void(0)"><img class="pic" height="40" onerror="this.src = 'https://d12hfz37g51hrt.cloudfront.net/assets/default/movie_person/photo_n_cr-cfaf551bd17e67d9d8c450bf7bc5c9d9.jpg';return false;" src="https://d12hfz37g51hrt.cloudfront.net/assets/default/movie_person/photo_medium-02320b4370599716acd5ce486f1f1dae.jpg?1344076192" width="40"/></a>
<a class="kor-name popup-involve-movies" data-person-id="233924" href="javascript:void(0)">엘레나 주앗코</a>
<span class="kor-role"></span>
<span class="eng-name">Elena Juatco</span>
</li>
<li class="movie-person actor" style="display:none;">
<a class="kor-name popup-involve-movies" data-person-id="221606" href="javascript:void(0)"><img class="pic" height="40" onerror="this.src = 'https://d12hfz37g51hrt.cloudfront.net/assets/default/movie_person/photo_n_cr-cfaf551bd17e67d9d8c450bf7bc5c9d9.jpg';return false;" src="https://d12hfz37g51hrt.cloudfront.net/ppl/medium/ad5c857592be92fda219.jpg?1436208348" width="40"/></a>
<a class="kor-name popup-involve-movies" data-person-id="221606" href="javascript:void(0)">라나 안토노바</a>
<span class="kor-role"></span>
<span class="eng-name">Lana Antonova</span>
</li>
<li class="movie-person actor" style="display:none;">
<a class="kor-name popup-involve-movies" data-person-id="250386" href="javascript:void(0)"><img class="pic" height="40" onerror="this.src = 'https://d12hfz37g51hrt.cloudfront.net/assets/default/movie_person/photo_n_cr-cfaf551bd17e67d9d8c450bf7bc5c9d9.jpg';return false;" src="https://d12hfz37g51hrt.cloudfront.net/ppl/medium/7ab06c2cc787f33e39f8.jpg?1436212081" width="40"/></a>
<a class="kor-name popup-involve-movies" data-person-id="250386" href="javascript:void(0)">페이스 페이</a>
<span class="kor-role"></span>
<span class="eng-name">Faith Fay</span>
</li>
<li class="movie-person actor" style="display:none;">
<a class="kor-name popup-involve-movies" data-person-id="337494" href="javascript:void(0)"><img class="pic" height="40" onerror="this.src = 'https://d12hfz37g51hrt.cloudfront.net/assets/default/movie_person/photo_n_cr-cfaf551bd17e67d9d8c450bf7bc5c9d9.jpg';return false;" src="https://d12hfz37g51hrt.cloudfront.net/assets/default/movie_person/photo_medium-02320b4370599716acd5ce486f1f1dae.jpg?1444755652" width="40"/></a>
<a class="kor-name popup-involve-movies" data-person-id="337494" href="javascript:void(0)">마이클 시릴 크레이톤</a>
<span class="kor-role">조 크로리 역</span>
<span class="eng-name">Michael Cyril Creighton</span>
</li>
<li class="movie-person actor" style="display:none;">
<a class="kor-name popup-involve-movies" data-person-id="332749" href="javascript:void(0)"><img class="pic" height="40" onerror="this.src = 'https://d12hfz37g51hrt.cloudfront.net/assets/default/movie_person/photo_n_cr-cfaf551bd17e67d9d8c450bf7bc5c9d9.jpg';return false;" src="https://d12hfz37g51hrt.cloudfront.net/assets/default/movie_person/photo_medium-02320b4370599716acd5ce486f1f1dae.jpg?1423580889" width="40"/></a>
<a class="kor-name popup-involve-movies" data-person-id="332749" href="javascript:void(0)">J.P. 발렌티</a>
<span class="kor-role"></span>
<span class="eng-name">J.P. Valenti</span>
</li>
<li class="movie-person actor" style="display:none;">
<a class="kor-name popup-involve-movies" data-person-id="332979" href="javascript:void(0)"><img class="pic" height="40" onerror="this.src = 'https://d12hfz37g51hrt.cloudfront.net/assets/default/movie_person/photo_n_cr-cfaf551bd17e67d9d8c450bf7bc5c9d9.jpg';return false;" src="https://d12hfz37g51hrt.cloudfront.net/assets/default/movie_person/photo_medium-02320b4370599716acd5ce486f1f1dae.jpg?1423759119" width="40"/></a>
<a class="kor-name popup-involve-movies" data-person-id="332979" href="javascript:void(0)">조셉 올리베이라</a>
<span class="kor-role"></span>
<span class="eng-name">Joseph Oliveira</span>
</li>
<li class="movie-person actor" style="display:none;">
<a class="kor-name popup-involve-movies" data-person-id="206052" href="javascript:void(0)"><img class="pic" height="40" onerror="this.src = 'https://d12hfz37g51hrt.cloudfront.net/assets/default/movie_person/photo_n_cr-cfaf551bd17e67d9d8c450bf7bc5c9d9.jpg';return false;" src="https://d12hfz37g51hrt.cloudfront.net/assets/default/movie_person/photo_medium-02320b4370599716acd5ce486f1f1dae.jpg?1344076155" width="40"/></a>
<a class="kor-name popup-involve-movies" data-person-id="206052" href="javascript:void(0)">모린 케일러</a>
<span class="kor-role"></span>
<span class="eng-name">Maureen Keiller</span>
</li>
<li class="movie-person actor" style="display:none;">
<a class="kor-name popup-involve-movies" data-person-id="11679" href="javascript:void(0)"><img class="pic" height="40" onerror="this.src = 'https://d12hfz37g51hrt.cloudfront.net/assets/default/movie_person/photo_n_cr-cfaf551bd17e67d9d8c450bf7bc5c9d9.jpg';return false;" src="https://d12hfz37g51hrt.cloudfront.net/assets/default/movie_person/photo_medium-02320b4370599716acd5ce486f1f1dae.jpg?1344075882" width="40"/></a>
<a class="kor-name popup-involve-movies" data-person-id="11679" href="javascript:void(0)">진 아모로소</a>
<span class="kor-role">스티브 커크지안 역</span>
<span class="eng-name">Gene Amoroso</span>
</li>
<li class="movie-person actor" style="display:none;">
<a class="kor-name popup-involve-movies" data-person-id="5412" href="javascript:void(0)"><img class="pic" height="40" onerror="this.src = 'https://d12hfz37g51hrt.cloudfront.net/assets/default/movie_person/photo_n_cr-cfaf551bd17e67d9d8c450bf7bc5c9d9.jpg';return false;" src="https://d12hfz37g51hrt.cloudfront.net/assets/default/movie_person/photo_medium-02320b4370599716acd5ce486f1f1dae.jpg?1344075873" width="40"/></a>
<a class="kor-name popup-involve-movies" data-person-id="5412" href="javascript:void(0)">로리 머독</a>
<span class="kor-role"></span>
<span class="eng-name">Laurie Murdoch</span>
</li>
<li class="movie-person actor" style="display:none;">
<a class="kor-name popup-involve-movies" data-person-id="265472" href="javascript:void(0)"><img class="pic" height="40" onerror="this.src = 'https://d12hfz37g51hrt.cloudfront.net/assets/default/movie_person/photo_n_cr-cfaf551bd17e67d9d8c450bf7bc5c9d9.jpg';return false;" src="https://d12hfz37g51hrt.cloudfront.net/ppl/medium/62e10d29541796718bf1.jpg?1436214099" width="40"/></a>
<a class="kor-name popup-involve-movies" data-person-id="265472" href="javascript:void(0)">더그 머레이</a>
<span class="kor-role">피터 카넬로스 역</span>
<span class="eng-name">Doug Murray</span>
</li>
<li class="movie-person actor" style="display:none;">
<a class="kor-name popup-involve-movies" data-person-id="234163" href="javascript:void(0)"><img class="pic" height="40" onerror="this.src = 'https://d12hfz37g51hrt.cloudfront.net/assets/default/movie_person/photo_n_cr-cfaf551bd17e67d9d8c450bf7bc5c9d9.jpg';return false;" src="https://d12hfz37g51hrt.cloudfront.net/assets/default/movie_person/photo_medium-02320b4370599716acd5ce486f1f1dae.jpg?1344076193" width="40"/></a>
<a class="kor-name popup-involve-movies" data-person-id="234163" href="javascript:void(0)">닐 허프</a>
<span class="kor-role">필 사비아노 역</span>
<span class="eng-name">Neal Huff</span>
</li>
<li class="movie-person actor" style="display:none;">
<a class="kor-name popup-involve-movies" data-person-id="38597" href="javascript:void(0)"><img class="pic" height="40" onerror="this.src = 'https://d12hfz37g51hrt.cloudfront.net/assets/default/movie_person/photo_n_cr-cfaf551bd17e67d9d8c450bf7bc5c9d9.jpg';return false;" src="https://d12hfz37g51hrt.cloudfront.net/ppl/medium/50ec5dd201f60e18b253.jpg?1436016992" width="40"/></a>
<a class="kor-name popup-involve-movies" data-person-id="38597" href="javascript:void(0)">듀앤 머레이</a>
<span class="kor-role">한시 칼코펜 역</span>
<span class="eng-name">Duane Murray</span>
</li>
<li class="movie-person actor" style="display:none;">
<a class="kor-name popup-involve-movies" data-person-id="303442" href="javascript:void(0)"><img class="pic" height="40" onerror="this.src = 'https://d12hfz37g51hrt.cloudfront.net/assets/default/movie_person/photo_n_cr-cfaf551bd17e67d9d8c450bf7bc5c9d9.jpg';return false;" src="https://d12hfz37g51hrt.cloudfront.net/assets/default/movie_person/photo_medium-02320b4370599716acd5ce486f1f1dae.jpg?1344076291" width="40"/></a>
<a class="kor-name popup-involve-movies" data-person-id="303442" href="javascript:void(0)">마이클 코트라이맨</a>
<span class="kor-role">리처드 길먼 역</span>
<span class="eng-name">Michael Countryman</span>
</li>
</ul>
<div class="more">더보기</div>
</div>
<div class="clear"></div>
<input id="visitor" name="visitor" type="hidden" value="true"/>
</div>
<script type="text/javascript">
  (function(){
    $(document).ready(function($) {
      movieDetailWrapper.find('.biggest-stillcut').bjqs({
        'animtype' : 'slide', // accepts 'fade' or 'slide'
        'height' : 400,
        'width' : 940,
        'animduration' : 650, // how fast the animation are
        'animspeed' : 5000, // the delay between each slide
        'responsive' : true,
        'nexttext' : '다음', // Text for 'next' button (can use HTML)
        'prevtext' : '이전' // Text for 'previous' button (can use HTML)
      });

      movieDetailWrapper.find(".bjqs-markers.h-centered").remove()
    });

    var vodAllBtn = $('.vod-area .all-button');
    var vodAllList = $('.vod-area .vod-list');

    vodAllBtn.on('click', function(){
      if(vodAllList.css('display') == 'block'){
        vodAllList.hide();
      } else {
        vodAllList.show();
      }
    });

    // 평균별점
    movieDetailWrapper.find('.watcha-rating-wrapper .watcha-rating').showRating({
      emptyUrl: 'https://d12hfz37g51hrt.cloudfront.net/assets/stars/star_gray-36a7aed0725ce9c174a44215d6872629.png',
      fullUrl: 'https://d12hfz37g51hrt.cloudfront.net/assets/stars/star_H.gray_1-52f82136df4be13e0550a97c6c7e0e37.png',
      value: '4.2',
      width: 14,
      height: 13,
      margin: 1
    })

    // 평가랜딩

    // 배우 더보기
    var peopleMore = $('.east .more');
    peopleMore.on('click', function(){
      $(this).prev().children().show();
      $(this).remove()
    })

    // 줄거리 더보기 스타일링
    var storyMore = $('.story .text_exposed_hide.show_more');
    storyMore.html('더보기');
    storyMore.on('click', function(){
      var next = $('.story .text_exposed_show').html()
      $('.story .text_exposed_hide.omit').before(next)
      $('.story .text_exposed_show').remove()
    })
    // chart
    movieDetailWrapper.find('.rating-chart-wrapper').ratingChart({tickSize: 1});

    // 친구 코멘트
    movieDetailWrapper.find('.friends-review.review-list li .rating-icon').each(function(i, ri){

      var ri = $(ri);

      ri.showRating({
        emptyUrl: 'https://d12hfz37g51hrt.cloudfront.net/assets/stars/star_mini_off-393bbcbcb935cd1cdde7de5ccf4d39ec.png',
        fullUrl: 'https://d12hfz37g51hrt.cloudfront.net/assets/stars/star_mini_on-dc842370dc14a49c989ed3f9730aa114.png',
        value: ri.data('rating'),
        width: 12,
        height: 11,
        margin: 1
      });

    });

    movieDetailWrapper.find('.friends-review.review-list li .like-module').each(function(i, like){

      var like = $(like);
      var reviewElem = like.parents('.review');

      if(!reviewElem.data('comment')){ return }

      like.reviewLike({
        commentId: reviewElem.data('comment').id,
        commentCode: reviewElem.data('comment').code,
        isLiked: like.data('is-like'),
        count: reviewElem.data('comment').likes_count
      });



    });

    movieDetailWrapper.find('.friends-review.review-list li .improper-module, .friends-review.review-list li .spoiler-module').each(function(i, reportBtn){

      var reportBtn = $(reportBtn);
      var reviewElem = reportBtn.parents('.review');

      if(!reviewElem.data('comment')){ return }

      var action = reportBtn.hasClass('improper-module') ? "improper" : "spoiler";

      reportBtn.commentReport({
        action : action,
        commentId : reviewElem.data('comment').id,
        commentCode : reviewElem.data('comment').code
      });

    });


    movieDetailWrapper.find('.friends-review.more').on('click', function(){
      var hiddenEl = $('.friends-review.review-list .hide');

      var showLength = hiddenEl.length < 5 ? hiddenEl.length : 5;

      for(var i=0; i<showLength; i++){
        var el = $(hiddenEl[i]);
        el.show();
        el.removeClass('hide');
      }

      if($('.friends-review.review-list .hide').length <= 0){
        $('.friends-review.more').remove();
      }

    });

    // 친구 평가들
    movieDetailWrapper.find('.friends-rating .rating-item').each(function(i, ri){
      var ri = $(ri);
      var rating = ri.data('rating');
      ri.find('.icon-wrapper .icon.half').showRating({
        emptyUrl: 'https://d12hfz37g51hrt.cloudfront.net/assets/stars/star_mini_off-393bbcbcb935cd1cdde7de5ccf4d39ec.png',
        fullUrl: 'https://d12hfz37g51hrt.cloudfront.net/assets/stars/star_mini_on-dc842370dc14a49c989ed3f9730aa114.png',
        value: rating,
        width: 12,
        height: 11,
        margin: 1
      })

    })

    // 친구 평가 더보기
    $('.friends-rating .friends-rating-more-wrapper').on('click', '.friends-rating-more', function(e){

      $(this).parents('.rating-item').find('.friend-list .hide').css('display', 'inline-block');
      $(e.delegateTarget).remove();
    });


    var reviewTemplate =
        '<li>'+
          '<div class="blur-area">'+
            '<a href="/v2/users/<@=usercode@>/comments" class="user-pic"  onclick="closePopupBeforeLeave(event);">'+
              '<img src="<@=userphoto.url@>">'+
              '<@ if(user_is_official){ @>' +
                '<span class="icon-official-account"></span>' +
              '<@ } @>' +
            '</a>'+
            '<div class="review">'+
              '<div class="interest-status">'+
                '<@ if(typeof premiere_winner != "undefined"){ @>'+
                  '<span class="premiere-winner">왓챠 시사회</span>'+
                '<@ } @>'+
              '</div>'+
              '<a href="/v2/users/<@=usercode@>/comments" class="name" onclick="closePopupBeforeLeave(event);"><@=username@></a>'+
              '<p class="text"><@=text@></p>'+
              '<div class="watch-records"></div>'+
              '<div class="bottom-left">'+
                '<span class="updated-at"><@=updated_at@></span>'+
                '<span class="like-module"></span>'+
                '<span class="improper-module"><@=improperText@></span>'+
                '<span class="spoiler-module"><@=spoilerText@></span>'+
              '</div>'+
            '</div>'+
            '<span class="balloon-arrow"></span>'+
          '</div>'+
          '<div class="remove-blur-wrapper">'+
            '<div class="icon" onclick="removeSpoilerCommentBlur(this);return false;">아이콘</div>'+
            '<div class="spoiler-text" onclick="removeSpoilerCommentBlur(this);return false;">스포일러 있어요!</div>'+
          '</div>'+
        '</li>';

    // 그냥 코멘트
    var reviewAjaxProcessing = false;
    var nowElem = movieDetailWrapper
    var reviewMoreBtn = nowElem.find('.all-review.more');
    var reviewSpinner = nowElem.find('.all-review.spinner');


    var cl = new CanvasLoader('review-loader-container-mnp3sa');
    cl.setColor('#FE382E');
    cl.setDensity(52);
    cl.setRange(1);
    cl.setSpeed(3);
    cl.setFPS(17);
    cl.show();


    var appendReview = function(ret){

      reviewAjaxProcessing = false;

      var aHeading = nowElem.find('.all-review.heading'),
          aList = nowElem.find('.all-review.review-list'),
          total_count = ret.meta.total_count,
          original_count = ret.meta.original_count,
          data = ret.data;
      if(original_count <= 0) {
        // 만약에 코멘트가 0개 일 때, 리뷰 아예 안보임.
        nowElem.find('.all-review').hide();
      }
      else if(total_count <= 0 && original_count > 0){
        // 만약에 좋아요, 보고싶어요 코멘트만 있고, 별점 리뷰가 없을 때, 정렬 메뉴 남김.
        nowElem.find('.all-review review-list').hide();
      } else {

        aHeading.find('.count').html('('+total_count+')');
        usercode = $("#user-data").attr('data-uc')

        var appendReviewControl = function(elem){
          ctrlWrapper = '<div class="control-wrapper">'+
                          '<span class="control-btn"><span class="icon"></span></span>'+
                          '<div class="control-content">'+
                            '<span class="edit">수정</span>'+
                            '<span class="delete">삭제</span>'+
                          '</div>'+
                        '</div>';
          ctrlWrapper = $(ctrlWrapper);

          elem.find('.review').append(ctrlWrapper);

          var eventBinded = false;

          var hideReviewControl = function(){
            ctrlWrapper.removeClass('with-content');
            // ctrlWrapper.removeAttr('tabindex');
          }

          var showReviewControl = function(){
            ctrlWrapper.addClass('with-content');
            // ctrlWrapper.attr('tabindex', '1');
          }


          ctrlWrapper.find('.control-btn').on('click', function(e){
            e.stopPropagation();

            if(ctrlWrapper.hasClass('with-content')){
              hideReviewControl();
            } else {
              showReviewControl();
            }

            if(!eventBinded){
              eventBinded = true;

              var eventWrapper = null;

              if(movieDetailWrapper.hasClass('detail-page')){ eventWrapper = $(document) }
              else { eventWrapper = movieDetailWrapper }

              eventWrapper.on('click', function(){
                hideReviewControl();
              })

              ctrlWrapper.find('.edit').on('click', function(){
                new Comment('mnp3sa');
              })

              ctrlWrapper.find('.delete').on('click', function(){

                $.ajax({
                  url: '/comment/delete?id=' + elem.data('review-id'),
                  success: function(ret){
                    if(ret.code == 200){
                      elem.fadeOut(500, function(){
                        elem.remove();
                      });
                    } else {
                      alert('삭제에 실패하였습니다!\n' + ret.message);
                    }
                  }
                })
              })

              // TODO @yoonsy : keydown이 안먹네 ㅜㅜ 일단 보류!
              // ctrlWrapper.on('keydown', function(e){

              //   if(e.keyCode == 27){
              //     e.stopPropagation();
              //     hideReviewControl();
              //   }

              // })

            }
          });


        }



        $.each(data, function(i, d){
          var longText = false;
          d.updated_at = timeBefore(d.updated_at);
          d.improperText = d.reported_improper ? "부적절한 표현 신고 취소하기" : "부적절한 표현 신고하기";
          d.spoilerText = d.reported_spoiler ? "스포일러 신고 취소하기" : "스포일러 신고하기";
          if (d.text.length > 100) {
            d.text = d.text.slice(0, 100) + "...";
            longText = true;
          }

          d.text = d.text.replace(/\n/g, "<br>");

          var elem = $(microTmpl(reviewTemplate, d));

          if (longText) {
            elem.find("p.text").append('<a href="/comments/' + d.comment_code + '" target="_blank">더 보기</a>');
          }

          elem.find('.user-pic').on('error', function(e){
            utils.loadDefaultImg(e.currentTarget, 'medium');
          });

          if(d.hide_because_of_spoiler){
            elem.addClass('spoiler-comment');
          }

          var improperBtn = elem.find('.improper-module');
          var spoilerBtn = elem.find('.spoiler-module');

          if(d.reported_spoiler){ spoilerBtn.addClass('done'); }
          if(d.reported_improper){ improperBtn.addClass('done'); }

          improperBtn.commentReport({
            action : "improper",
            commentId : d.comment_id,
            commentCode : d.comment_code
          });
          spoilerBtn.commentReport({
            action : "spoiler",
            commentId : d.comment_id,
            commentCode : d.comment_code
          });

          aList.append(elem);
          ims = elem.find('.interest-status');

          if(d.status == 1){
            ims.prepend("<span class='rating-icon'></span>")
            ims.find('.rating-icon').showRating({
              emptyUrl: 'https://d12hfz37g51hrt.cloudfront.net/assets/stars/star_mini_off-393bbcbcb935cd1cdde7de5ccf4d39ec.png',
              fullUrl: 'https://d12hfz37g51hrt.cloudfront.net/assets/stars/star_mini_on-dc842370dc14a49c989ed3f9730aa114.png',
              value: d.rating,
              width: 12,
              height: 11,
              margin: 1
            });
          } else if(d.status == 0){
            ims.addClass('wish').html('보고싶어요')
          } else if(d.status == 2){
            ims.addClass('meh').html('관심없어요')
          }

          elem.find('.like-module').reviewLike({
            commentId: d.comment_id,
            commentCode: d.comment_code,
            count: d.like_count,
            isLiked: d.is_liked
          });

          elem.find('.watch-records').setWatchRecordText(d.watch_record)

          if(usercode == d.usercode){
            elem.data('review-id', d.review_id);
            appendReviewControl(elem);
          }

        });

      }

      reviewMoreBtn.show();
      reviewSpinner.hide();

      if (aList.children().length >= total_count) {
        reviewMoreBtn.hide();
      }
      else {
        reviewMoreBtn.show();
      }
    }

    var deleteReview = function(){
      nowElem.find('.all-review.review-list').children().remove();
    }

    // 일반 코멘트 더보기 5+10+10+.....
    var sortType = 'like'
    var loadReview = function(count){
      reviewAjaxProcessing = true;
      reviewMoreBtn.hide();
      reviewSpinner.show();

      start_index = nowElem.find('.all-review.review-list li').length

      $.ajax({
        url: '/comment/list?unique_id=mnp3sa&start_index='+start_index+'&count='+count+'&type='+sortType,
        success: appendReview
      });
    }

    reviewMoreBtn.on('click', function(){

      if(reviewAjaxProcessing){
        return false;
      }
      loadReview(10);
    });

    loadReview(5);

    // 관련 기사
    var relatedList = nowElem.find('.related-article.related-article-list');
    var relatedMoreBtn = nowElem.find('.related-article.more');

    relatedMoreBtn.on('click', function(){
      relatedList.find('.related-article-item.hide').removeClass('hide');
      relatedMoreBtn.remove();
    })

    relatedList.on('click', '.article-popup', function(e){
      var linkElem = $(e.currentTarget);
      var href = linkElem.attr('href');
      popupWindow_url(href,
        {
          name: 'news-article',
          width: 620,
          height: 1800,
          scroll: 'yes'
        }
      )

      e.stopPropagation();
      e.preventDefault();
      return false;
    })



    // 비슷한영화

    var similarMovieHeading = nowElem.find('.similar-movie-heading');
    var similarMovieList = nowElem.find('.similar-movie-list');
    var similarMoreBtn = nowElem.find('.similar-movie.more');
    var smSpinner = nowElem.find('#sm-loader-container-mnp3sa');
    var similarMovieOffset = 0;
    var similarAjaxPrecessing = false;
    var clearElemInSimilar = similarMovieList.find('.clear');


    var smCl = new CanvasLoader('sm-loader-container-mnp3sa');
    smCl.setColor('#FE382E');
    smCl.setDensity(52);
    smCl.setRange(1);
    smCl.setSpeed(3);
    smCl.setFPS(17);
    smCl.show();

    var appendSimilarMovies = function(obj, isFirstLoad){

      similarAjaxPrecessing = false;

      if(isFirstLoad){
        if(obj.meta.data_count < 4){
          similarMoreBtn.hide();
        }
        if(obj.meta.data_count <= 0){
          similarMovieHeading.hide();
          similarMovieList.hide();
          return false;
        }

      } else {

        if(obj.meta.data_count <= 0 || obj.meta.data_count<12){
          smSpinner.remove();
          if ($('#watcha-popup-wrapper').length > 0){
            $('#watcha-popup-wrapper').off('scroll');
          } else {
            $(document).off('scroll');
          }
        }

      }

      var data = obj.data

      for(var i=0, len=data.length; i<len; i++){

        similarMovieOffset++;

        var card = new MovieCard('mini_movie_card','1x1',data[i].items[0], {})
        var cardEl = card.el;

        if(i%4==0){
          cardEl.addClass('first');
        }

        cardEl.insertBefore(clearElemInSimilar);

      }

    }

    similarAjaxPrecessing = true;
    $.ajax({

      url:'/movie/similar/mnp3sa?count=4',
      type:'get',
      dataType:'json',
      success: function(obj){
        appendSimilarMovies(obj, true);
      }

    })

    similarMoreBtn.on('click', function(){

      similarMoreBtn.remove();
      smSpinner.show();

      similarAjaxPrecessing = true;

      $.ajax({

        url:'/movie/similar/mnp3sa?count=12&start_index='+similarMovieOffset,
        type:'get',
        dataType:'json',
        success: function(obj) {
          appendSimilarMovies(obj, false);
        }

      })
      var docu = ''
      var win = ''
      if ($('#watcha-popup-wrapper').length > 0){
        docu = $('#watcha-popup-wrapper');
        win = $('#watcha-popup-wrapper');
      }
      else {
        docu = $(document);
        win = $(window);
      }
      docu.on('scroll', function(){
        scroll = false
        if ($('#watcha-popup-wrapper').length > 0){
          scroll = !similarAjaxPrecessing && ($(window).outerHeight() + win.offset().top >= smSpinner.offset().top - 100)
        } else {
          scroll = !similarAjaxPrecessing && ($(window).outerHeight() + win.scrollTop() >= smSpinner.offset().top - 100)
        }
        if(scroll){

          similarAjaxPrecessing = true;

          $.ajax({

            url:'/movie/similar/mnp3sa?count=12&start_index='+similarMovieOffset,
            type:'get',
            dataType:'json',
            success: function(obj) {
              appendSimilarMovies(obj, false);
            }

          })
        }

      })


    });


    // ㅇㅖ고편

    $('.trailer-list .trailer-item').on('click', function(){
      var youtubeId = $(this).data('youtube-id');
      popupTrailer(youtubeId);

    });



    // 예매하기
    movieDetailWrapper.find('.booking-button').on('click', function(e){
      e.stopPropagation();
      ga('send', 'event', 'Reservation', 'Check');
      movieDetailWrapper.find('.reservation-list').toggle();
    })
    $(document).on('click', function(){
      movieDetailWrapper.find('.reservation-list').hide();
    })
    movieDetailWrapper.on("click", '.reservation-list li', function() {
      var $this;
      $this = $(this);
      if ($this.hasClass("disabled")) {
        return;
      }

      if ($this.attr('data-mobile')) {
        ga('send', 'event', 'Reservation', 'Outlink', $this.attr('data-theater-label'));
        return popupWindow_url($this.attr('data-url'), 'reserve', 340, 540, 'yes');
      } else {
        ga('send', 'event', 'Reservation', 'Outlink', $this.attr('data-theater-label'));
        return popupWindow_url($this.attr('data-url'), 'reserve');
      }
    });


    // 코멘트 정렬
    movieDetailWrapper.find(".sort-list li[data-sort=like] a").addClass('selected')
    movieDetailWrapper.find('.sort-button').on('click', function(e){
      e.stopPropagation();
      movieDetailWrapper.find('.sort-list').toggle();
    })
    $(document).on('click', function(){
      movieDetailWrapper.find('.sort-list').hide();
    })
    movieDetailWrapper.on("click", '.sort-list li', function() {

      var $this;
      $this = $(this);
      if ($this.hasClass("disabled")) {
        return;
      }
      if ($this.attr('data-sort')) {
        sort = $this.attr('data-sort');
        reviewhead = movieDetailWrapper.find(".all-review.heading");
        reviewhead.removeClass('like').removeClass('new').removeClass('desc').removeClass('asc').addClass(sort);
        deleteReview();
        sortType = sort;
        loadReview(5)
        movieDetailWrapper.find(".sort-list li a").removeClass('selected')
        movieDetailWrapper.find(".sort-list li[data-sort="+sort+"] a").addClass('selected')
      }
    });

    // 스틸컷 슬라이드
    // 영화당 스틸컷 여러장 생기면 주석풀고 사용!
    var stillcutList = movieDetailWrapper.find('.east .stillcut-list');
    var stillcutImageArray = null;
    var stillcutItems = stillcutList.find('li');


    stillcutItems.on('click', function(){

      var li = $(this);

      if( stillcutImageArray==null ){
        stillcutImageArray = new Array();

        $.each(stillcutList.find('li .stillcut'), function(i, stillcutElem){
          stillcutImageArray.push($(stillcutElem).data('big'));
        });

      }

      var targetIndex = $.makeArray(stillcutItems).indexOf(this);

      slider = new StillcutSlider(stillcutImageArray);
      slider.show(targetIndex);

    });


    window.closePopupBeforeLeave = function(e){

      if(movieDetailWrapper.hasClass('detail-pop')){
        e.preventDefault();
        link = $(e.currentTarget).attr('href')
        movieDetailWrapper.parents('.movie-detail-container').watchaPopup('close', function(){
          // setTimeout 걸어준 이유는, 페이지 이동하기 전에 watchaPopup의 beforeClose 에 걸려있는
          // History.back()이 실행되어서 url 이 바뀌어야 하는데,
          // 이렇게 하지 않으면, 링크 이동하느라 url이 안바뀐다. 1 millsec 으로 줘봤는데도 안되어서 10으로.
          setTimeout(function(){
            location.href = link;
          }, 10);
        });
      }
    }


  })();
  </script>
</div>
</div>
<div id="toast-msg"></div>
<script type="text/javascript">
window.settingInstance = new Setting($('#account-setting-popup'));
</script>
<div id="popup_visitor_wrapper">
<div id="popup_visitor">
<a class="btn btn_fb_join" href="#" onclick="snsconnect('facebook', '/mv/spotlight-2015'); return false;">Facebook으로 회원가입</a>
<a class="btn btn_join" href="/join">이메일로 회원가입</a>
<div class="link_to_login">
<a href="/login">로그인 하기</a>
</div>
<a class="btn_close" href="#" onclick="closePopupVisitor(); return false;">X</a></div>
</div>
</body></html>
<script type="text/javascript">
  $(document).ready(function() {
    $('#popup_visitor_wrapper').on('click', function(e) {
      if (!$(e.target).is('#popup_visitor_wrapper'))
        return;
      closePopupVisitor();
    });
  });
</script>
<div id="footer">
<div class="wrapper responsive-mask">
<div class="upper">
<div class="name">frograms</div>
<div class="sns">
<a class="fb" href="http://facebook.com/watcha.net" target="_blank">페이스북</a>
<a class="twitter" href="https://twitter.com/watcha_app" target="_blank">트위터</a>
<a class="blog" href="http://frograms.com/blog" target="_blank">블로그</a>
</div>
</div>
<div class="count-like-tweet">
<div class="count">
<div class="text">
<span class="star-icon"></span>
<span class="number">249,858,827</span>
          개의 별점 평가가 쌓이고 있습니다.
        </div>
</div>
<div class="social_plugin_wrapper">
<div class="fb-like plugin" data-href="http://watcha.net" data-layout="button_count" data-send="false" data-show-faces="false" data-width="130"></div>
<a class="twitter-share-button plugin" data-lang="en" data-related="watcha_app" data-text="내 취향을 분석하는 영화 추천 - 왓챠! 예전에 본 영화에 별점만 매기면, 왓챠가 내 취향을 분석해서 자동으로 영화를 추천해드려요!" data-url="http://watcha.net" href="https://twitter.com/share">Tweet</a>
</div>
</div>
<div class="info">
      사업자명 (주식회사 프로그램스) 사업자번호 (211-88-66013)
      Copyright © 2014 by Frograms. Inc. All rights reserved
    </div>
</div>
</div>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="https://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
<script type="text/javascript">
adroll_adv_id = "TQL7PFOBG5ES5EZEXO4NRM";
adroll_pix_id = "GZKZVF5HHBDGHN5OY6OVXG";
(function () {
var oldonload = window.onload;
window.onload = function(){
   __adroll_loaded=true;
   var scr = document.createElement("script");
   var host = (("https:" == document.location.protocol) ? "https://s.adroll.com" : "http://a.adroll.com");
   scr.setAttribute('async', 'true');
   scr.type = "text/javascript";
   scr.src = host + "/j/roundtrip.js";
   ((document.getElementsByTagName('head') || [null])[0] ||
    document.getElementsByTagName('script')[0].parentNode).appendChild(scr);
   if(oldonload){oldonload()}};
}());
</script>

1. 감독


In [145]:
director = dom.select('li.movie-person.director a.kor-name')[1].text
director


Out[145]:
'토마스 맥카시'

2. 주연배우


In [139]:
# 주연배우 3명
actor_list = dom.select('li.movie-person.actor .kor-name')
actors = []
for actor in actor_list[1:6:2]:
    actor = actor.text
    actors.append(actor)
actors


Out[139]:
['마이클 키튼', '마크 러팔로', '레이첼 맥아담스']

4. 예상 별점도 json파일일듯(내부연산의결과)

5. 평가자수, 보고싶어요 수, 코멘트 수


In [136]:
rate_count = dom.select('div.cumulative-count .rate')[0].text # 평가자 수
wish_count = dom.select('div.cumulative-count .wish')[0].text # 보고싶어요 수
review_count = dom.select('div.cumulative-count .review')[0].text # 코메트 수

print(rate_count, wish_count, review_count)


12,747 9,771 2,530

6. decription(제목, 년도, 국가, 장르, 등급, 상영시간)


In [132]:
desc = dom.select('div.desc')[0].text
desc


Out[132]:
'Spotlight, 2015, 미국, 드라마, 스릴러, 15세 관람가, 2시간 8분'

7. 별점분포


In [118]:
rating_dist = dom.select_one('div.rating-chart-wrapper').get('data-distribution')
rating_dist


Out[118]:
'{"1":7,"2":14,"3":10,"4":46,"5":81,"6":439,"7":1442,"8":4218,"9":4428,"10":2062}'

3. 이동진 별점은 json파일


In [119]:
import json

In [129]:
json_response = requests.get(
    "https://watcha.net/comment/list?unique_id=mnp3sa&start_index=0&count=5&type=like")
comment_dict = json.loads(json_response.text)
lee = comment_dict.get('data')[0].get('username')
lee_comment = comment_dict.get('data')[0].get('text')
lee_rating = comment_dict.get('data')[0].get('rating')

print(lee)
print(lee_rating)
print(lee_comment)


이동진 평론가
4.5
&#x27;모두가 대통령의 사람들&#x27;과 함께 오래도록 거론될 모범적 언론영화.

3-1. 이동진 별점이 없는 경우


In [140]:
json_response = requests.get(
    "https://watcha.net/comment/list?unique_id=mizwpr&start_index=0&count=5&type=like")
comment_dict = json.loads(json_response.text)
lee = comment_dict.get('data')[0].get('username')
lee_comment = comment_dict.get('data')[0].get('text')
lee_rating = comment_dict.get('data')[0].get('rating')

print(lee)
print(lee_rating)
print(lee_comment)


김수빈
3.0
영화 내내 드는 생각은 김강우는 뭐때문에 저렇게까지 열심히뛰지? 그리고 박성웅이 김강우에게 미운정들어 점점 살살때리나...?라는 생각뿐