beautifulsoup 모듈 - 02.beautifulsoup 모듈 사용하기
학습목표
- beautifulsoup 모듈 사용하기
- id, class 속성으로 tag 찾기
- CSS를 이용하여 tag 찾기
- 속성 값으로 tag 찾기
- 정규표현식으로 tag 찾기
- 개발자도구를 이용하여 동적으로 로딩되는 데이터 추출하기
import requests
from bs4 import BeautifulSoup
다음 뉴스 데이터 추출
- 뉴스기사에서 제목, 작성자, 작성일 , 댓글 개수 추출
- 뉴스링크
- tag를 추출할때는 가장 그 tag를 쉽게 특정할 수 있는 속성을 사용
-
id의 경우 원칙적으로 한 html 문서 내에서 유일
- id, class 속성으로 tag 찾기
- 타이틀
- 작성자, 작성일
url = 'https://news.v.daum.net/v/20190728165812603'
resp = requests.get(url)
resp.text
'<!doctype html>\n<html lang="ko"> \n <head data-cloud-area="head"> \n <meta charset="utf-8"> \n <meta http-equiv="X-UA-Compatible" content="IE=edge"> \n <style>\n @import url(\'//t1.daumcdn.net/harmony_static/cloud/page/3e96c93f90d4df7aca693bfb2ba2ea76d2d14d92.css\');\n @import url(\'//t1.daumcdn.net/harmony_static/cloud/2021/05/03/common.4fa0ea63845693bada8b.css\')\n </style> \n <style>\n /* 다음 카페 소셜 쉐어 임시 비활성화 */\n .list_sns li:nth-child(6) {\n display: none;\n }\n </style> \n <meta property="mccp:docId" content="NHT9NtZWBe"> \n <meta property="og:site_name" content="다음뉴스"> \n <meta property="og:title" content="일론머스크 "테슬라에서 넷플릭스·유튜브 즐길 날 온다""> \n <meta property="og:regDate" content="20190728165812"> \n <meta property="og:type" content="article"> \n <meta property="og:url" content="https://news.v.daum.net/v/NHT9NtZWBe"> \n <meta property="og:image" content="https://img1.daumcdn.net/thumb/S1200x630/?fname=https://t1.daumcdn.net/news/201907/28/akn/20190728165813230vjsq.jpg"> \n <meta property="og:image:width" content="1200"> \n <meta property="og:image:height" content="630"> \n <meta property="og:description" content="[아시아경제 이민우 기자] 일론 머스크 테슬라 최고경영자(CEO)가 자사 전기 자동차 모델에 넷플릭스와 유튜브 등 온라인동영상서비스(OTT)를 탑재할 것이라고 예고했다. 단순히 자율 주행 전기차가 단순히 주행을 위한 정보를 알려주는 것을 넘어 각종 영상 콘텐츠를 즐기는 공간으로도 확장하겠다는 전략으로 풀이된다.27일(현지시간) 더버지 등 주요 외신들에 따르"> \n <meta property="al:android:url" content="daumapps://web?url=https%3A%2F%2Fnews.v.daum.net/v/NHT9NtZWBe"> \n <meta property="al:android:package" content="net.daum.android.daum"> \n <meta property="al:android:app_name" content="다음앱"> \n <meta property="al:ios:url" content="daumapps://web?url=https%3A%2F%2Fnews.v.daum.net/v/NHT9NtZWBe"> \n <meta property="al:ios:app_store_id" content="365494029"> \n <meta property="al:ios:app_name" content="다음앱"> \n <meta property="twitter:card" content="summary_large_image"> \n <meta property="twitter:app:url:googleplay" content="daumapps://web?url=https%3A%2F%2Fnews.v.daum.net/v/NHT9NtZWBe"> \n <meta property="twitter:app:id:googleplay" content="net.daum.android.daum"> \n <meta property="twitter:app:name:googleplay" content="다음앱"> \n <meta property="twitter:app:country" content="KR"> \n <meta property="twitter:app:url:iphone" content="daumapps://web?url=https%3A%2F%2Fnews.v.daum.net/v/NHT9NtZWBe"> \n <meta property="twitter:app:id:iphone" content="365494029"> \n <meta property="twitter:app:name:iphone" content="다음앱"> \n <meta property="twitter:app:url:ipad" content="daumapps://web?url=https%3A%2F%2Fnews.v.daum.net/v/NHT9NtZWBe"> \n <meta property="twitter:app:id:ipad" content="365494029"> \n <meta property="twitter:app:name:ipad" content="다음앱"> \n <meta name="referrer" content="always"> \n <title>일론머스크 "테슬라에서 넷플릭스·유튜브 즐길 날 온다"</title> \n <link rel="shortcut icon" href="//m2.daumcdn.net/img-media/2010ci/Daum_favicon.ico"> \n </head> \n <body class=""> \n <div id="kakaoIndex"> <a href="#kakaoBody">본문 바로가기</a> <a href="#kakaoGnb">메뉴 바로가기</a> \n </div> \n <div id="kakaoWrap" class="newsview_media"> \n <div id="wrapMinidaum"></div> \n <div id="kakaoHead" role="banner" data-cloud-area="header"> \n <div class="head_media" data-cloud="pc_header_gnb"> \n <h1> <a href="https://www.daum.net" class="link_daum"> <img src="//t1.daumcdn.net/media/news/news2016/retina/logo_daum.jpg" width="45" height="19" class="thumb_g" alt="Daum"> </a> <a href="//news.daum.net" id="kakaoServiceLogo"><span class="ir_wa">뉴스</span></a> </h1> <strong class="screen_out">관련서비스</strong> \n <ul id="kakaoRelServices"> \n <li><a href="https://entertain.daum.net/" class="link_services link_services1"><span class="ir_wa">연예</span></a></li> \n <li><a href="https://sports.daum.net/" class="link_services link_services2"><span class="ir_wa">스포츠</span></a></li> \n </ul> \n <h2 class="screen_out">검색</h2> \n <div class="search_news" id="search_news"> \n <form id="kakaoSearch" name="kakaoSearch" action="https://search.daum.net/search" method="get"> \n <fieldset class="fld_inside"> <legend class="screen_out">검색어 입력폼</legend> \n <div class="box_searchbar"> <label for="qVal" class="lab_search">통합검색</label> \n <input type="hidden" name="nil_profile" value="search"> \n <input type="hidden" name="nil_src" value="media"> \n <input type="hidden" name="DA" value="23A"> \n <input type="hidden" name="rtmaxcoll" value="NNS"> \n <input type="text" class="tf_keyword" id="qVal" name="q" value="" title="검색어 입력" autocomplete="off" spellcheck="false"> <button id="kakaoBtnSearch" class="btn_search" type="submit"><span class="ir_wa">검색</span></button> \n </div> \n </fieldset> \n <div id="wrap_suggestBox" class="wrap_suggestBox"> \n <div id="suggestBox" class="suggestBox box_sub"> \n <div class="baseBox bg" style="display: none"></div> \n </div> \n </div> \n </form> \n </div> \n </div> \n <div id="kakaoGnb" role="navigation" data-cloud="pc_header_gnb"> \n <div class="inner_gnb"> \n <h2 class="screen_out">뉴스 메인메뉴</h2> \n <ul class="gnb_comm" data-category="digital"> \n <li class="home"><a href="//news.daum.net/" class="link_gnb link_gnb1"><span class="ir_wa">홈</span><span class="bar_gnb"><span class="inner_bar"></span></span></a></li> \n <li class="society"><a href="//news.daum.net/society/" class="link_gnb link_gnb2"><span class="ir_wa">사회</span><span class="bar_gnb"><span class="inner_bar"></span></span></a></li> \n <li class="politics"><a href="//news.daum.net/politics/" class="link_gnb link_gnb3"><span class="ir_wa">정치</span><span class="bar_gnb"><span class="inner_bar"></span></span></a></li> \n <li class="economic"><a href="//news.daum.net/economic/" class="link_gnb link_gnb4"><span class="ir_wa">경제</span><span class="bar_gnb"><span class="inner_bar"></span></span></a></li> \n <li class="foreign"><a href="//news.daum.net/foreign/" class="link_gnb link_gnb5"><span class="ir_wa">국제</span><span class="bar_gnb"><span class="inner_bar"></span></span></a></li> \n <li class="culture"><a href="//news.daum.net/culture/" class="link_gnb link_gnb6"><span class="ir_wa">문화</span><span class="bar_gnb"><span class="inner_bar"></span></span></a></li> \n <li class="digital"><a href="//news.daum.net/digital/" class="link_gnb link_gnb7"><span class="ir_wa">IT</span><span class="bar_gnb"><span class="inner_bar"></span></span></a></li> \n <li class="popular"><a href="//news.daum.net/ranking/popular" class="link_gnb link_gnb8"><span class="ir_wa">랭킹</span><span class="bar_gnb"><span class="inner_bar"></span></span></a></li> \n <li class="series editorial"><a href="//news.daum.net/series" class="link_gnb link_gnb9"><span class="ir_wa">연재</span><span class="bar_gnb"><span class="inner_bar"></span></span></a></li> \n <li class="photo"><a href="//news.daum.net/photo" class="link_gnb link_gnb10"><span class="ir_wa">포토</span><span class="bar_gnb"><span class="inner_bar"></span></span></a></li> \n <li class="tv"><a href="//news.daum.net/tv" class="link_gnb link_gnb11"><span class="ir_wa">TV</span><span class="bar_gnb"><span class="inner_bar"></span></span></a></li> \n </ul> \n <div class="gnb_etc"> \n <ul class="gnb_with"> \n <li><a href="//news.daum.net/1boon" class="link_gnb link_gnb1"><span class="ir_wa">1boon</span></a></li> \n <li><a href="//gallery.v.daum.net/p/home" class="link_gnb link_gnb2"><span class="ir_wa">갤러리</span><span class="bar_gnb"><span class="inner_bar"></span></span></a></li> \n </ul> \n <div class="gnb_weather"> <strong class="screen_out">날씨 정보</strong> \n <div id="gnb_weather"> \n <ul class="list_weather" data-nightyn="N"></ul> \n </div> \n </div> \n </div> \n </div> \n </div> \n <div id="barProgress" class="bar_progress" data-cloud="pc_header_gnb"></div> \n </div> \n <div id="dummyKakaoGnb" style="height:137px; display:none;"></div> \n <hr class="hide"> \n <div id="kakaoContent" class="cont_view" role="main"> \n <h2 id="kakaoBody" class="screen_out">IT</h2> \n <div id="cSub" data-cloud-area="title"> \n <div class="head_view" data-cloud="pc_article_title_and_util"> <em class="info_cp"> <a href="https://www.asiae.co.kr" class="link_cp" target="_blank"> <img src="https://t1.daumcdn.net/media/news/news2016/cp/cp_akn.gif" class="thumb_g" alt="아시아경제"> </a> </em> \n <h3 class="tit_view" data-translation="true">일론머스크 "테슬라에서 넷플릭스·유튜브 즐길 날 온다"</h3> <span class="info_view"> <span class="txt_info">이민우</span> <span class="txt_info">입력 <span class="num_date">2019. 07. 28. 16:58</span></span> <button id="alexCounter" class="emph_g2 link_cmt">댓글 <span class="alex-count-area">0</span>개</button> </span> \n <div class="util_view"> \n <h4 class="screen_out">기사 도구 모음</h4> \n <div class="btn_util util_summary"> <button type="button" class="btn_summary" aria-expanded="false"><span class="ico_newsview">자동요약</span></button> \n <div class="wrap_setlayer"> \n <div class="layer_util layer_summary"> \n <p>일론 머스크 테슬라 최고경영자(CEO)가 자사 전기 자동차 모델에 넷플릭스와 유튜브 등 온라인동영상서비스(OTT)를 탑재할 것이라고 예고했다.</p>\n <p>단순히 자율 주행 전기차가 단순히 주행을 위한 정보를 알려주는 것을 넘어 각종 영상 콘텐츠를 즐기는 공간으로도 확장하겠다는 전략으로 풀이된다.</p>\n <p>테슬라 측은 규제당국이 자율주행에 대해 완전히 승인하면 차량이 움직일 때에도 승객이 동영상을 즐길 수 있을 것이라고 설명했다.</p> <span class="info_summary"><span class="ico_newsview"></span>기사 제목과 주요 문장을 기반으로 자동요약한 결과입니다. 전체 맥락을 이해하기 위해서는 본문 보기를 권장합니다.</span> \n </div> \n </div> \n </div> \n <div class="btn_util tts_btn"> <button type="button" class="btn_set btn_tts" aria-expanded="false"> <span class="ico_newsview ico_speak">음성 기사 듣기</span> </button> \n <div class="wrap_setlayer"> \n <div class="layer_util layer_set layer_tts"> <strong class="screen_out">음성 기사 옵션 조절 레이어</strong> \n <ul class="list_set list_tts"> \n <li> <input type="radio" id="ttsGenderMale" name="ttsGender" class="screen_out" value="Male"> <label class="lab_set" for="ttsGenderMale"><span class="ico_newsview"></span>남성</label> </li> \n <li> <input type="radio" id="ttsGenderFemale" name="ttsGender" class="screen_out" value="Female"> <label class="lab_set" for="ttsGenderFemale"><span class="ico_newsview"></span>여성</label> </li> \n </ul> \n <ul class="list_set list_tts list_ttsspeed"> \n <li> <input type="radio" id="ttsSpeedSlow" name="ttsSpeed" class="screen_out" value="slow"> <label class="lab_set" for="ttsSpeedSlow"><span class="ico_newsview"></span>느림</label> </li> \n <li> <input type="radio" id="ttsSpeedNormal" name="ttsSpeed" class="screen_out" value="normal"> <label class="lab_set" for="ttsSpeedNormal"><span class="ico_newsview"></span>보통</label> </li> \n <li> <input type="radio" id="ttsSpeedFast" name="ttsSpeed" class="screen_out" value="fast"> <label class="lab_set" for="ttsSpeedFast"><span class="ico_newsview"></span>빠름</label> </li> \n </ul> \n </div> \n </div> \n <audio style="display:none" preload="none" id="ttsPlayer"></audio> \n </div> \n <div class="btn_util translate_btn"> <button type="button" class="btn_set btn_translate #util #translate #set" aria-expanded="false"><span class="ico_newsview">번역 설정</span></button> \n <div class="wrap_translatelayer"> \n <div class="layer_util layer_translate"> <strong class="tit_translate">번역<span class="ico_newsview">beta</span> </strong> \n <p class="desc_translate txt_newsview">Translated by <a href="https://kakao.ai/" target="_blank" class="link_kakaoi #util #translate #kakaoi_link">kakao i</a></p> <strong class="screen_out">번역할 언어 선택</strong> \n <ul class="list_lang"> \n <li> <button class="btn_lang btn_en #util #translate #lang_en" name="en"> <span class="ico_newsview ico_flag"></span> <strong class="ico_newsview tit_lang">English</strong> </button> </li> \n <li> <button type="button" class="btn_lang btn_ch #util #translate #lang_cn" name="cn"> <span class="ico_newsview ico_flag"></span> <strong class="ico_newsview tit_lang">简体中文</strong> </button> </li> \n <li> <button type="button" class="btn_lang btn_jp #util #translate #lang_jp" name="jp"> <span class="ico_newsview ico_flag"></span> <strong class="ico_newsview tit_lang">日本語</strong> </button> </li> \n <li> <button type="button" class="btn_lang btn_ind #util #translate #lang_id" name="id"> <span class="ico_newsview ico_flag"></span> <strong class="ico_newsview tit_lang">Bahasa Indonesia</strong> </button> </li> \n <li> <button type="button" class="btn_lang btn_viet #util #translate #lang_vi" name="vi"> <span class="ico_newsview ico_flag"></span> <strong class="ico_newsview tit_lang">tiếng Việt</strong> </button> </li> \n <li> <button type="button" class="btn_lang btn_ko #util #translate #lang_kr" name="kr"> <span class="ico_newsview ico_flag"></span> <strong class="ico_newsview tit_lang">한국어</strong> </button> </li> \n </ul> \n </div> \n </div> \n </div> \n <div class="btn_util share_btn"> <button id="rSocialShareButton" class="btn_set btn_share" aria-expanded="false"> <span class="ico_newsview">공유</span> </button> \n <div id="rSocialShareLayerContainer"></div> \n </div> \n <div class="btn_util font_btn"> <button type="button" class="btn_set btn_font" aria-expanded="false"> <span class="ico_newsview ico_font">글씨크기 조절하기</span> </button> \n <div class="wrap_setlayer"> \n <div class="layer_util layer_set layer_font"> <strong class="screen_out">글자 크기 조절 레이어</strong> \n <ul class="list_set list_font"> \n <li> <input type="radio" id="inpFont17" name="inpFont" class="screen_out" value="17"> <label class="lab_set lab_size0" for="inpFont17"> <span class="ico_newsview"></span> <span aria-hidden="true">가나다라마바사</span> <span class="screen_out">매우 작은 폰트</span> </label> </li> \n <li> <input type="radio" id="inpFont18" name="inpFont" class="screen_out" value="18"> <label class="lab_set lab_size1" for="inpFont18"> <span class="ico_newsview"></span> <span aria-hidden="true">가나다라마바사</span> <span class="screen_out">작은 폰트</span> </label> </li> \n <li> <input type="radio" id="inpFont19" name="inpFont" class="screen_out" value="19"> <label class="lab_set lab_size2" for="inpFont19"> <span class="ico_newsview"></span> <span aria-hidden="true">가나다라마바사</span> <span class="screen_out">보통 폰트</span> </label> </li> \n <li> <input type="radio" id="inpFont20" name="inpFont" class="screen_out" value="20"> <label class="lab_set lab_size3" for="inpFont20"> <span class="ico_newsview"></span> <span aria-hidden="true">가나다라마바사</span> <span class="screen_out">큰 폰트</span> </label> </li> \n <li> <input type="radio" id="inpFont21" name="inpFont" class="screen_out" value="21"> <label class="lab_set lab_size4" for="inpFont21"> <span class="ico_newsview"></span> <span aria-hidden="true">가나다라마바사</span> <span class="screen_out">매우 큰 폰트</span> </label> </li> \n </ul> \n </div> \n </div> \n </div> \n <div class="btn_util"> <button type="button" class="btn_print"><span class="ico_newsview">인쇄하기 새창열림</span></button> \n </div> \n </div> \n </div> \n </div> \n <div id="cMain"> \n <div id="mArticle"> \n <div data-cloud-area="article"> \n <div id="translateNotice" class="status_view" style="display:none;" data-cloud="pc_article_body"> <span class="notice_lang notice_lang_en" style="display:none;">The copyright belongs to the original writer of the content, and there may be errors in machine translation results.</span> <span class="notice_lang notice_lang_cn" style="display:none;">版权归内容原作者所有。机器翻译结果可能存在错误。</span> <span class="notice_lang notice_lang_jp" style="display:none;">原文の著作権は原著著作者にあり、機械翻訳の結果にエラーが含まれることがあります。</span> <span class="notice_lang notice_lang_id" style="display:none;">Hak cipta milik penulis asli dari konten, dan mungkin ditemukan kesalahan dalam hasil terjemahan mesin.</span> <span class="notice_lang notice_lang_vi" style="display:none;">Bản quyền thuộc về tác giả gốc của nội dung và có thể có lỗi trong kết quả dịch bằng máy.</span> \n </div> \n <div class="news_view" style="font-size:17px" data-cloud="pc_article_body"> <strong class="summary_view" data-translation="true"> "주행 중에도 넷플릭스·유튜브 감상 가능할 것"<br>자율주행 아직까지 안전 우려 남아..실현 시기는 미지수 </strong> \n <div id="harmonyContainer" class="article_view" data-translation-body="true"> \n <section dmcf-sid="NkBWHdyrlY">\n <figure class="figure_frm origin_fig" dmcf-pid="N7s2biXYTL" dmcf-ptype="figure">\n <p class="link_figure"><img alt="일론 머스크 테슬라 최고경영자(CEO) [이미지출처=로이터연합뉴스]" class="thumb_g_article" data-org-src="https://t1.daumcdn.net/news/201907/28/akn/20190728165813230vjsq.jpg" data-org-width="550" dmcf-mid="NBMY3ZZhN4" dmcf-mtype="image" height="auto" src="https://img1.daumcdn.net/thumb/R658x0.q70/?fname=https://t1.daumcdn.net/news/201907/28/akn/20190728165813230vjsq.jpg" width="658"></p>\n <figcaption class="txt_caption default_figure">\n 일론 머스크 테슬라 최고경영자(CEO) [이미지출처=로이터연합뉴스]\n </figcaption>\n </figure>\n <div dmcf-pid="NU9K9rfDgA" dmcf-ptype="general">\n <p>[아시아경제 이민우 기자] 일론 머스크 테슬라 최고경영자(CEO)가 자사 전기 자동차 모델에 넷플릭스와 유튜브 등 온라인동영상서비스(OTT)를 탑재할 것이라고 예고했다. 단순히 자율 주행 전기차가 단순히 주행을 위한 정보를 알려주는 것을 넘어 각종 영상 콘텐츠를 즐기는 공간으로도 확장하겠다는 전략으로 풀이된다.</p>\n <br>\n <p>27일(현지시간) 더버지 등 주요 외신들에 따르면 머스크 CEO는 자신의 트위터를 통해 이 같은 계획을 밝혔다. 그는 "자동차가 정차했을 때 넷플릭스와 유튜브를 감상할 수 있는 기능이 조만간 추가될 것"이라며 "편안한 좌석과 서라운드 사운드 오디오를 통해 영화관과 같은 느낌을 받을 수 있을 것"이라고 강조했다.</p>\n </div>\n <figure class="figure_frm origin_fig" dmcf-pid="NlqQhf4JmF" dmcf-ptype="figure">\n <p class="link_figure"><img alt="(출처=일론 머스크 트위터 계정 캡쳐)" class="thumb_g_article" data-org-src="https://t1.daumcdn.net/news/201907/28/akn/20190728165813670hwxf.png" data-org-width="550" dmcf-mid="NRhnb5SRpx" dmcf-mtype="image" height="auto" src="https://img3.daumcdn.net/thumb/R658x0.q70/?fname=https://t1.daumcdn.net/news/201907/28/akn/20190728165813670hwxf.png" width="658"></p>\n <figcaption class="txt_caption default_figure">\n (출처=일론 머스크 트위터 계정 캡쳐)\n </figcaption>\n </figure>\n <div dmcf-pid="NpkG4d9A6j" dmcf-ptype="general">\n <p>테슬라가 이처럼 콘텐츠 방면으로 확장하려 든 것은 이번이 처음이 아니다. 지난달 세계 최대 게임쇼 E3에서는 이미 운전자가 \'폴아웃 쉘터\'라는 게임을 할 수 있을 것이라고 발표한 바 있다. 이후에도 최근 게임업체 아타리사(社)의 자동차 경주 게임 ‘폴포지션’, 슈팅게임 ‘템페스트’, ‘미사일커맨드’ 등 고전 게임을 제공하기도 했다. 운전대로 게임을 조작하는 방식으로, 차가 주차돼 있을 경우에만 즐길 수 있다.</p>\n <br>\n <p>이번 영상 콘텐츠는 주행 중에도 감상할 수 있도록 하는 방안을 고려하고 있다. 테슬라 측은 규제당국이 자율주행에 대해 완전히 승인하면 차량이 움직일 때에도 승객이 동영상을 즐길 수 있을 것이라고 설명했다.</p>\n <br>\n <p>하지만 아직까지 자율주행차의 안전에 대한 우려는 완전히 걷혀지지 않은 상황이다. 지난 2017년 차량공유 서비스 우버의 자율주행 시범차량이 보행자와 충돌한 사고가 발생한 바 있다. 게다가 당시 시험 운전자는 디즈니의 동영상 스트리밍 서비스인 \'훌루\'를 이용하고 있던 것으로 밝혀졌다.</p>\n </div>\n <p dmcf-pid="NUOWg8Qxyd" dmcf-ptype="general">이민우 기자 letzwin@asiae.co.kr</p>\n </section> \n <p data-translation="true"><ⓒ경제를 보는 눈, 세계를 보는 창 아시아경제 무단전재 배포금지></p> \n </div> \n </div> \n </div> \n <div class="foot_view" data-cloud-area="addition"> \n <div class="emotion_wrap" data-cloud="alex_action_emotion"> \n <div class="emotion_tit"> <strong class="tit_emotion">이 기사에 대해 어떻게 생각하시나요?</strong> \n </div> \n <div class="emotion_list"> \n <div class="alex-action" data-selections="RECOMMEND,LIKE,IMPRESS,ANGRY,SAD" data-client-id="26BXAvKny5WF5Z09lr5k77Y8" data-item-key="20190728165812603" data-action-mode="REACTION" data-on-select-animation-type="EXPAND" data-message-channel="alex-action-reactions"> \n </div> \n </div> \n </div> \n <div class="relate_series hide" data-cloud="pc_news_cluster"> <strong class="tit_series"> <em class="tag_series">연재</em> <span class="title_series"></span> </strong> \n <ul class="list_series"></ul> <a href="#none" class="link_more">더보기</a> \n </div> \n <div class="cp_view" data-cloud="pc_related_news"> \n <div class="cp_tit"> \n <h3 class="tit_cp">아시아경제 주요 뉴스</h3> \n <p class="info_cp">해당 언론사로 연결됩니다.</p> \n </div> \n <ul class="list_relate"> \n <li><a href="https://www.asiae.co.kr/article/2021050309184631893&access=daum" title="도경완, 장윤정 때문에 주식 다 빼…"300만원 올랐는데"" class="link_txt" target="_blank" data-type="rss">도경완, 장윤정 때문에 주식 다 빼…"300만원 올랐는데"</a></li> \n <li><a href="https://www.asiae.co.kr/article/2021050112025228486&access=daum" title="전지현, 의류 수거함에서 주웠던 그 옷…\'400만원 명품\'" class="link_txt" target="_blank" data-type="rss">전지현, 의류 수거함에서 주웠던 그 옷…\'400만원 명품\'</a></li> \n <li><a href="https://www.asiae.co.kr/article/2021050104550364044&access=daum" title="박나래, \'성희롱 논란\' 눈물의 사과…"많이 반성했다"" class="link_txt" target="_blank" data-type="rss">박나래, \'성희롱 논란\' 눈물의 사과…"많이 반성했다"</a></li> \n <li><a href="https://www.asiae.co.kr/article/2021050309190637368&access=daum" title="공매 입찰금액 실수로 \'0\' 하나 더 붙였다가… 3억 날린 사연" class="link_txt" target="_blank" data-type="rss">공매 입찰금액 실수로 \'0\' 하나 더 붙였다가… 3억 날린 사연</a></li> \n <li><a href="https://www.asiae.co.kr/article/2021050311172336247&access=daum" title="[속수무책 기술유출]美 첨단산업 견제에 궁지 몰린 中…韓 기술 호시탐탐" class="link_txt" target="_blank" data-type="rss">[속수무책 기술유출]美 첨단산업 견제에 궁지 몰린 中…韓 기술 호시탐탐</a></li> \n <li><a href="https://www.asiae.co.kr/article/2021050221051670443&access=daum" title=""90명 한 무대"… MBN \'보이스킹\' 스태프 확진→출연자 전원 검사 \'비상\'" class="link_txt" target="_blank" data-type="rss">"90명 한 무대"… MBN \'보이스킹\' 스태프 확진→출연자 전원 검사 \'비상\'</a></li> \n <li><a href="https://www.asiae.co.kr/article/2021050111335311247&access=daum" title=""니 X이 뭔데"… "도와드릴까요" 묻는 청소원 머리 내리친 남성 징역형" class="link_txt" target="_blank" data-type="rss">"니 X이 뭔데"… "도와드릴까요" 묻는 청소원 머리 내리친 남성 징역형</a></li> \n <li><a href="https://www.asiae.co.kr/article/2021043014243540488&access=daum" title="6년간 수십억원 모바일상품권 몰래 발행한 직원 징역 3년" class="link_txt" target="_blank" data-type="rss">6년간 수십억원 모바일상품권 몰래 발행한 직원 징역 3년</a></li> \n <li><a href="https://www.asiae.co.kr/article/2021050109270368569&access=daum" title="바뀐 \'분묘기지권\' 판례… "남의 땅에 조상묘, 사용료 내라"" class="link_txt" target="_blank" data-type="rss">바뀐 \'분묘기지권\' 판례… "남의 땅에 조상묘, 사용료 내라"</a></li> \n <li><a href="https://www.asiae.co.kr/article/2021042811411792075&access=daum" title="14억 중국의 참담한 현실…\'인구대국\' 자리바꿈 초읽기" class="link_txt" target="_blank" data-type="rss">14억 중국의 참담한 현실…\'인구대국\' 자리바꿈 초읽기</a></li> \n </ul> \n </div> \n <div id="alex-scroll-area" data-cloud="pc_article_bottom_ad"></div> \n <ins class="kakao_ad_area recomm_ad" style="display:block; width: 658px; text-decoration: none; min-width: 658px;" data-ad-unit="DAN-1jezdswwiit7q" data-ad-width="658" data-ad-height="90" data-ad-onfail="cmRenderFailCallBack" data-cloud="pc_article_bottom_ad"> </ins> \n <div class="cmt_news cmt_view" data-cloud="pc_comment"> \n <div id="newsviewNotice" class="news_notice"></div> \n <div id="alex-area" class="alex-area" data-base-url="//comment.daum.net" data-post-id="@20190728165812603" data-client-id="26BXAvKny5WF5Z09lr5k77Y8" data-kakao-appkey="9076ba452fea1a434141d6b6a2c11a3c" data-initial-limit="3" data-page-limit="10" data-sort="P" data-use-my="true" data-max-length="300" data-use-reply="true" data-use-official="true" data-use-emoticon="true" data-use-social-share="true" data-use-attachment="false" data-is-mobile="false" data-show-mask-alert="true" data-use-live-comment-mode="notify" data-use-fold="true" data-use-skin="newsView" data-use-safebot="true"> \n </div> \n </div> \n </div> \n </div> \n <div id="mAside" data-cloud-area="aside"> \n <ins style="display:block;width:250px;height:250px;" class="kakao_ad_area aside_g aside_ad" data-ad-unit="05d24" data-ad-type="D" data-ad-width="250" data-ad-height="250" data-cloud="pc_aside_top_ad"> </ins> \n <div class="aside_g aside_popular hide" data-cloud="pc_popular_news"> \n <h3 class="txt_newsview">많이본 뉴스</h3> \n <ul class="tab_aside tab_media"> \n <li class="on"> <a href="#none" class="link_tab link_tab2">뉴스</a> </li> \n <li class=""> <a href="#none" class="link_tab link_tab3">연예</a> </li> \n <li class=""> <a href="#none" class="link_tab link_tab4">스포츠</a> </li> \n </ul> \n </div> \n <div class="aside_g aside_phototv hide" data-cloud="pc_news_photo_tv"> \n <h3 class="txt_newsview">포토&TV</h3> \n <div class="cont_aside"> \n <ul class="list_phototv"></ul> \n </div> \n </div> \n <ins style="display:block;width:250px;height:250px;" class="kakao_ad_area aside_g aside_ad" data-ad-unit="0QH44" data-ad-type="D" data-ad-width="250" data-ad-height="250" data-cloud="pc_aside_bottom_ad"> </ins> \n </div> \n </div> \n <div id="cEtc"> \n <div class="realtime_view"> \n <div class="inner_realtime"> \n <div data-cloud-area="etc"> \n <div class="realtime_news" data-cloud="pc_realtime_news"> \n <h3 class="txt_newsview">이 시각 추천뉴스</h3> \n <ul class="list_realtime"> \n <li class="item_main item_realtime_news"></li> \n <li class="item_main item_realtime_news"></li> \n <li class="item_realtime_news"></li> \n <li class="item_realtime_news"></li> \n <li class="item_realtime_news"></li> \n <li class="item_realtime_news"></li> \n <li class="item_realtime_news"></li> \n <li class="item_realtime_news"></li> \n <li class="item_realtime_news"></li> \n <li class="item_realtime_news"></li> \n <li class="item_realtime_news"></li> \n <li class="item_realtime_news"></li> \n </ul> \n </div> \n </div> \n <div class="realtime_aside" id="realtime_aside" data-cloud-area="etc-aside"> \n <ins class="kakao_ad_area etc_bottom_ad" style="display: block; width: 100%;" data-ad-unit="DAN-kQxraZPBvpl52CWq" data-ad-width="250" data-ad-height="250" data-ad-onfail="onFailEtcBottomAd" data-cloud="pc_etc_bottom_ad"> </ins> \n </div> \n </div> \n </div> \n <div data-cloud-area="etc-addition"> \n </div> \n </div> \n </div> \n <hr class="hide"> \n <div class="footer_comm" id="kakaoFoot" role="contentinfo" data-cloud-area="footer"> \n <div class="inner_foot" data-cloud="pc_footer"> \n <div class="direct_link"> \n <h2 class="tit_direct">바로가기</h2> \n <div class="item_bundle"> <a class="link_txt" href="https://news.daum.net/">뉴스홈</a> <a class="link_txt" href="https://news.daum.net/society/">사회</a> <a class="link_txt" href="https://news.daum.net/politics/">정치</a> <a class="link_txt" href="https://news.daum.net/economic/">경제</a> <a class="link_txt" href="https://news.daum.net/foreign/">국제</a> <a class="link_txt" href="https://news.daum.net/culture/">문화</a> <a class="link_txt" href="https://news.daum.net/digital/">IT</a> <a class="link_txt" href="https://news.daum.net/photo/">포토</a> <a class="link_txt" href="https://news.daum.net/tv/">TV</a> \n </div> \n <div class="item_bundle"> <a class="link_txt" href="https://news.daum.net/cp">언론사별 뉴스</a> \n </div> \n <div class="item_bundle"> <a class="link_txt" href="https://news.daum.net/newsbox">배열이력</a> \n </div> \n <div class="item_bundle"> <a class="link_txt" href="https://news.daum.net/breakingnews">전체뉴스</a> <a class="link_txt" href="https://news.daum.net/ranking/popular">랭킹</a> <a class="link_txt" href="https://news.daum.net/series">연재</a> <a class="link_txt" href="https://news.daum.net/1boon">1boon</a> \n </div> <button class="btn_fold" type="button"><span class="ico_news">바로가기 링크 더보기/접기</span></button> \n </div> \n <h2 class="screen_out">서비스 이용정보</h2> \n <div class="footer_link"> <a class="link_info" href="https://news.daum.net/info/intro">다음뉴스 소개</a> <span class="txt_dot"> ・ </span> <a class="link_info" href="https://news.daum.net/notice">공지사항</a> <span class="txt_dot"> ・ </span> <a class="link_info" href="https://news.daum.net/info/bbsrule">게시물 운영원칙</a> <span class="txt_dot"> ・ </span> <a class="link_info" href="https://policy.daum.net/info/info">서비스 약관/정책</a> <span class="txt_dot"> ・ </span> <a class="link_info" href="https://with.kakao.com/media">뉴스제휴</a> <span class="txt_dot"> ・ </span> <a class="link_info" href="https://business.kakao.com/">비즈니스</a> <span class="txt_dot"> ・ </span> <a class="link_info" href="https://cs.daum.net/redbell/top.html">권리침해신고</a> <span class="txt_dot"> ・ </span> <a class="link_info" href="https://cs.daum.net/faq/63.html">다음뉴스 고객센터</a> \n </div> \n <div class="footer_link"> <a class="link_info" href="https://news.daum.net/info/newscenter24">24시간 뉴스센터</a> <span class="txt_dot"> ・ </span> <a class="link_info" href="https://news.daum.net/info/edit">서비스원칙</a> <span class="txt_dot"> ・ </span> <a class="link_info" href="https://news.daum.net/info/correct">바로잡습니다</a> <span class="txt_dot"> ・ </span> <span class="link_info">기사배열책임자 : 김희정</span> <span class="txt_dot"> ・ </span> <span class="link_info">청소년보호책임자 : 이준목</span> \n </div> \n <div class="info_copyright"> <strong class="info_warn">위 내용에 대한 저작권 및 법적 책임은 자료제공사 또는 <br>글쓴이에 있으며, Kakao의 입장과 다를 수 있습니다.</strong> <small class="txt_copyright">Copyright © <strong class="txt_kakao"><a href="https://www.kakaocorp.com" class="link_kakao">Kakao Corp.</a></strong> All rights reserved.</small> \n </div> \n </div> \n </div> <samp data-cloud-area="util"> </samp> \n </div> \n <script src="//t1.daumcdn.net/harmony_static/cloud/2021/05/03/vendor.39958ce6937d202010c7.js"></script>\n <script src="//t1.daumcdn.net/harmony_static/cloud/2021/05/03/common.4fa0ea63845693bada8b.js"></script>\n <script src="//t1.daumcdn.net/kas/static/ba.min.js"></script>\n <script src="//t1.daumcdn.net/kas/static/na.min.js"></script>\n <script src="//m1.daumcdn.net/svc/original/U03/cssjs/userAgent/userAgent-1.0.12.min.js"></script>\n <script>"use strict";function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function _createClass(e,t,a){return t&&_defineProperties(e.prototype,t),a&&_defineProperties(e,a),e}!(function(){var a="<li>\\n <a href=\\"https://search.daum.net/search?nil_suggest=btn&w=tot&DA=SBC&q=<%= specialRegionName %>%20날씨\\" class=\\"link_cont\\">\\n <span class=\\"ico_weather ico_weather<%= weatherIconCode %>\\"><%= specialRegionName %></span> \\n <span class=\\"txt_weather\\"><%= specialRegionName %>\\n <span class=\\"num_heat\\"><%= temperature %></span> \\n <span class=\\"txt_heat\\">℃</span>\\n </span>\\n </a>\\n </li>",t=document.querySelector(\'.gnb_weather\'),n=t.querySelector(\'ul\'),e="".concat(Conf.api.hadesRest,"/pc_weather");axios.get(e).then(function(e){var t=e.data.body.data,e=t.isNightIconYn,t=t.weatherData;n.dataset.nightyn=e,n.innerHTML=t.map(function(e){return _.template(a)(e)}).join(\'\');new s(n)}).catch(function(e){t.parentNode.removeChild(t)});var s=(function(){function t(e){_classCallCheck(this,t),this.PAUSE_TIME=4e3,this.TRANSITION_TIME=500,this.list=e,this.frameId=null,this.pause=this.pause.bind(this),this.start=this.start.bind(this),this.moveUp=this.moveUp.bind(this),this.init(),this.start(),this.list.style.marginTop=\'0px\'}return _createClass(t,[{key:"start",value:function(){this.frameId=setInterval(this.moveUp,this.PAUSE_TIME)}},{key:"pause",value:function(){clearInterval(this.frameId)}},{key:"moveUp",value:function(){var e=this.list,t=e.firstElementChild.cloneNode(!0);e.classList.add(\'slidein\'),e.style.marginTop=\'-30px\',setTimeout(function(){e.classList.remove(\'slidein\'),e.style.marginTop=\'0px\',e.removeChild(e.firstElementChild),e.appendChild(t)},this.TRANSITION_TIME)}},{key:"init",value:function(){var t=this,e=this.list;e.addEventListener(\'mouseenter\',this.pause),e.addEventListener(\'mouseleave\',this.start),e.querySelectorAll(\'a\').forEach(function(e){e.addEventListener(\'focus\',t.pause),e.addEventListener(\'blur\',t.start)})}}]),t})()})();</script>\n <script>"use strict";!(function(){var e=-1<\'\'.indexOf(\'tv_news\')?\'tv\':\'digital\',t=document.querySelector(\'.gnb_comm\');(t=e&&t.querySelector(".".concat(e)))&&t.setAttribute(\'class\',"".concat(e," on"))})();</script>\n <script src="https://t1.daumcdn.net/cssjs/jquery/jquery-1.9.0.min.js"></script>\n <script src="https://search1.daumcdn.net/search/suggest_pc/suggest-1.2.16.min.js"></script>\n <script>"use strict";!(function(){document.getElementById(\'search_news\'),new suggest.Suggest(document.getElementById("search_news"),{inputEl:\'qVal\',suggestBoxEl:\'suggestBox\',autoFocus:\'NORMAL\',suggestLimit:10,isReverse:!1,searchURL:\'https://search.daum.net/search\',APIServer:{host:\'//dapi.kakao.com/suggest/v2/pc.json\',apiType:suggest.Suggest.APITYPE.DAPISUGGEST,appkey:\'d7022f6ca2a04430ce1b97b922da58e8\',queries:{mod:\'json\',code:\'utf_in_out\'}}}).on(\'click-item\',function(){var e=document.getElementById(\'kakaoSearch\');e.querySelector("input[name=\'DA\']").value=\'23B\',e.submit()});var t=document.getElementById(\'qVal\');t.addEventListener?(t.addEventListener(\'focus\',function(e){e&&e.preventDefault(),0<=t.value.length&&t.parentNode.classList.add(\'search_on\')}),t.addEventListener(\'blur\',function(e){e&&e.preventDefault(),0===t.value.length&&t.parentNode.classList.remove(\'search_on\')})):(t.attachEvent(\'onfocus\',function(e){e&&(e.preventDefault?e.preventDefault():e.returnValue=!1),0<=t.value.length&&t.parentNode.setAttribute(\'class\',\'box_searchbar search_on\')}),t.attachEvent(\'onblur\',function(e){e&&(e.preventDefault?e.preventDefault():e.returnValue=!1),0===t.value.length&&t.parentNode.setAttribute(\'class\',\'box_searchbar\')}))})(jQuery);</script>\n <script src="//t1.daumcdn.net/daumtop_deco/socialshare/socialshare_nocss_pc-2.4.2.js"></script>\n <script>"use strict";!(function(){var t=document.querySelector(\'.util_summary\'),r=t.querySelector(\'.btn_summary\'),e=t.querySelectorAll(".layer_summary p"),n=!1;function i(){t.classList.remove(\'layer_open\'),r.setAttribute(\'aria-expanded\',!1)}function a(e){if(e.target===r||e.target===r.children[0])return!1;i(),window.removeEventListener(\'click\',a)}e.forEach(function(e){return e.classList.add("desc_news")}),r.addEventListener(\'click\',function(e){(n=!n)?(t.classList.add(\'layer_open\'),r.setAttribute(\'aria-expanded\',!0),window.addEventListener(\'click\',a)):i()}),r.addEventListener(\'blur\',function(e){n=!1,i()})})();</script>\n <script>"use strict";function _slicedToArray(e,t){return _arrayWithHoles(e)||_iterableToArrayLimit(e,t)||_unsupportedIterableToArray(e,t)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray(e,t):void 0}}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function _iterableToArrayLimit(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var n=[],r=!0,o=!1,a=void 0;try{for(var i,s=e[Symbol.iterator]();!(r=(i=s.next()).done)&&(n.push(i.value),!t||n.length!==t);r=!0);}catch(e){o=!0,a=e}finally{try{r||null==s["return"]||s["return"]()}finally{if(o)throw a}}return n}}function _arrayWithHoles(e){if(Array.isArray(e))return e}!(function(){var t,e,n,r,o,a=\'VIEW_TTS\',i=\'v.daum.net\',s={slow_Male:\'http://k-v1.kakaocdn.net/dn/bTYhQf/btqw7dnmMCv/hUbVhtobk3GbFXFCegkk31/original.m4a\',normal_Male:\'http://k-v1.kakaocdn.net/dn/4CTkI/btqw7QSKJ4L/RBxJg5cqNbQyPSQIjMOUT1/original.m4a\',fast_Male:\'http://k-v1.kakaocdn.net/dn/g8O5D/btqw4ocn8Y7/tD8KH19rXvKQXYWbQ5gdr0/original.m4a\',slow_Female:\'http://k-v1.kakaocdn.net/dn/dZVpXE/btqw8AWdkJO/kiq1mIqCrBEVEX22P6YhSK/original.m4a\',normal_Female:\'http://k-v1.kakaocdn.net/dn/ETPxe/btqw6nRmjWq/Yni5zaUkvyxurIIhtFBLS1/original.m4a\',fast_Female:\'http://k-v1.kakaocdn.net/dn/03ztL/btqw7cIJy8D/D2U1Q1f3wdQOQXXUNJMljk/original.m4a\'},l=document.querySelector(\'.util_view .tts_btn\'),c=l.querySelectorAll(\'.list_tts input\'),u=l.querySelector(\'.btn_tts\'),d=l.querySelector(\'.ico_speak\'),y=l.querySelector(\'.wrap_setlayer\').querySelectorAll(\'.ico_newsview\'),f=l.querySelector(\'#ttsPlayer\');function m(){var e,t,n,r,o=(e=l.querySelector(\'input[name=ttsSpeed]:checked\').value,t=l.querySelector(\'input[name=ttsGender]:checked\').value,"".concat(e,"_").concat(t));f.setAttribute(\'src\',s[o]),n=o,Cookies.set(a,\'\',{expires:-1}),Cookies.set(a,n,{domain:i,expires:new Date(1*new Date+365*864e5)}),r=o,u.className=\'btn_set btn_tts #util #tts #p_\'+r}function p(e){\'playOptions\'==e?(m(),f.load(),f.play(),d.textContent=\'음성 기사 정지\'):\'play\'==e?(f.load(),f.play(),d.textContent=\'음성 기사 정지\'):(f[e](),d.textContent=\'음성 기사 듣기\')}function v(){clearTimeout(n),t.classList.add(\'layer_open\'),e.setAttribute(\'aria-expanded\',!0)}function _(){r||(n=setTimeout(b,100))}function b(){t.classList.remove(\'layer_open\'),e.setAttribute(\'aria-expanded\',!1)}function L(e){e?t.classList.add(\'on\'):t.classList.remove(\'on\')}function h(e,t){document.getElementById("ttsSpeed".concat(e)).checked=!0,document.getElementById("ttsGender".concat(t)).checked=!0}t=(o={layer:l,btn:u,radios:c}).layer,e=o.btn,o=o.radios,r=!(n=0),t.addEventListener(\'mouseover\',function(e){r=!0,v()}),t.addEventListener(\'mouseleave\',function(e){r=!1,_()}),e.addEventListener(\'keydown\',function(e){13===e.keyCode&&((r=!r)?v:b)()}),t.addEventListener(\'blur\',function(e){r=!1,_()}),e.addEventListener(\'click\',function(e){f.paused?(L(!0),p(\'play\')):(L(!1),p(\'pause\'))}),o.forEach(function(e){e.addEventListener(\'change\',function(e){t.classList.add(\'on\'),p(\'playOptions\')}),e.addEventListener(\'blur\',function(e){r=!1,_()}),e.addEventListener(\'focus\',function(e){r=!0,v()})}),y=(o={icons:y,radios:c}).icons,c=o.radios,y.forEach(function(e){e.addEventListener(\'mouseover\',function(e){this.classList.add(\'ico_focused\')}),e.addEventListener(\'mouseleave\',function(e){this.classList.remove(\'ico_focused\')})}),c.forEach(function(e){e.addEventListener(\'focus\',function(e){this.nextElementSibling.querySelector(\'span\').classList.add(\'ico_focused\')}),e.addEventListener(\'blur\',function(e){this.nextElementSibling.querySelector(\'span\').classList.remove(\'ico_focused\')})}),f.addEventListener(\'ended\',function(e){l.classList.remove(\'on\')}),void 0===(o=Cookies.get(a))||o.includes(\'undefined\')?h(\'Normal\',\'Male\'):(c=(y=_slicedToArray(o.split(\'_\'),2))[0],y=y[1],h(c=(o=c).charAt(0).toUpperCase()+o.slice(1),y)),m()})();</script>\n <script>"use strict";!(function(){var n=document.createElement(\'DIV\');n.innerHTML="\\n <div id=\\"translatingLayer\\" class=\\"translate_layer\\">\\n <div class=\\"inner_translate_layer\\">\\n <div class=\\"layer_body\\">\\n <strong class=\\"tit_translate\\">\\n 번역중 <span class=\\"eng_tit\\">Now in translation</span>\\n </strong>\\n </div>\\n </div>\\n </div>\\n\\n <div id=\\"translateErrorLayer\\" class=\\"translate_layer\\">\\n <div class=\\"inner_translate_layer inner_error_layer\\">\\n <div class=\\"layer_body\\">\\n <span class=\\"ico_newsview ico_error\\"></span>\\n <strong class=\\"tit_translate\\">\\n 잠시 후 다시 시도해 주세요 <span class=\\"eng_tit\\">Please try again in a moment</span>\\n </strong>\\n </div>\\n </div>\\n </div>\\n ",document.body.querySelector("#kakaoWrap").appendChild(n)})();</script>\n <script>"use strict";function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray(e,t):void 0}}function _iterableToArray(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}!(function(){var e,t,n,r,a=document.querySelector(\'.translate_btn\'),o=a.querySelector(\'.btn_translate\'),l=a.querySelector(\'.link_kakaoi\'),s=a.querySelectorAll(\'.btn_lang\'),i=document.getElementById(\'translatingLayer\'),c=document.getElementById(\'translateErrorLayer\'),y=document.getElementById(\'kakaoWrap\');function u(){i.style.display=\'none\',c.style.display=\'none\',document.body.style.overflow=\'\'}function d(){clearTimeout(e),t.classList.add(\'layer_open\'),n.setAttribute(\'aria-expanded\',!0)}function f(){t.classList.remove(\'layer_open\'),n.setAttribute(\'aria-expanded\',!1)}function p(){r||(e=setTimeout(f,1))}function m(e){var t=e.currentTarget.name;u(),i.style.display=\'block\',document.body.style.overflow=\'hidden\';try{HarmonyTranslator.translate(\'kr\',t,_,b)}catch(e){console.error(\'번역 에러:\',e)}}function _(e){var t=document.querySelector(\'#translateNotice\'),e=e.targetLang;switch(e){case\'en\':case\'id\':y.classList.add(\'lang_type1\'),y.classList.remove(\'lang_type2\'),y.classList.remove(\'lang_type3\');break;case\'cn\':case\'jp\':y.classList.remove(\'lang_type1\'),y.classList.add(\'lang_type2\'),y.classList.remove(\'lang_type3\');break;case\'vi\':y.classList.remove(\'lang_type1\'),y.classList.remove(\'lang_type2\'),y.classList.add(\'lang_type3\');break;default:y.classList.remove(\'lang_type1\'),y.classList.remove(\'lang_type2\'),y.classList.remove(\'lang_type3\')}\'kr\'==e?(t.querySelectorAll(\'.notice_lang\').forEach(function(e){e.style.display=\'none\'}),t.style.display=\'none\'):(t.querySelectorAll(".notice_lang:not(.notice_lang_".concat(e,")")).forEach(function(e){e.style.display=\'none\'}),t.querySelector(".notice_lang.notice_lang_".concat(e)).style.display=\'block\',t.style.display=\'block\'),setTimeout(function(){u()},500)}function b(e,t){u(),c.style.display=\'block\',document.body.style.overflow=\'hidden\',setTimeout(function(){u()},2e3)}l={layer:a,btn:o,inputs:[l].concat(_toConsumableArray(s))},t=l.layer,n=l.btn,l=l.inputs,r=!1,n.addEventListener(\'click\',function(){((r=!r)?d:p)()}),t.addEventListener(\'mouseover\',function(){r=!0,d()}),t.addEventListener(\'mouseleave\',function(){r=!1,f()}),l.forEach(function(e){e.addEventListener(\'focus\',function(e){r=!0,d()}),e.addEventListener(\'blur\',function(e){r=!1,p()})}),s.forEach(function(e){e.addEventListener(\'click\',m)})})();</script>\n <script>"use strict";!(function(){var e,t=(o=\'일론머스크 "테슬라에서 넷플릭스·유튜브 즐길 날 온다"\',(c=document.createElement(\'div\')).innerHTML=o,c.textContent),a=\'20190728165812603\'||\'NHT9NtZWBe\',n="".concat(location.protocol,"//").concat(location.host,"/v/").concat(a),o="http://scrap.cafe.daum.net/_dss_/scrap?folder_id=100000&source_location_code=10&target_location_code=1&data_id=".concat(a),c={shareType:\'sendScrap\',shareData:{requestUrl:n,templateId:7952,installTalk:!0,templateArgs:{\'${EncodingUrl}\':encodeURIComponent(n),\'${webUrl}\':n+\'?f=p\',\'${mobileWebUrl}\':n+\'?f=m\'}}},r=document.querySelector(\'.share_btn\'),i=document.getElementById(\'rSocialShareButton\'),a=document.getElementById(\'rSocialShareLayerContainer\'),d=new socialshareRenewal.Main(i,{moreViewContainer:a,action:\'hover\',link:n,prefix:t,service_name:\'다음뉴스\',cafe:o,kakaoAPI:{appkey:\'53e566aa17534bc816eb1b5d8f7415ee\',kakaoLinkData:c}}),s=!1;function l(){e=setTimeout(function(){s=!1,r.classList.remove(\'layer_open\'),i.setAttribute(\'aria-expanded\',!1),d.close()},100)}function u(){s=!0,m(),r.classList.add(\'layer_open\'),i.setAttribute(\'aria-expanded\',!0),d.open()}function m(){clearTimeout(e)}i.addEventListener(\'mouseenter\',u),i.addEventListener(\'mouseleave\',l),i.addEventListener(\'click\',function(e){(s?l:u)()}),a.addEventListener(\'mouseenter\',m),a.addEventListener(\'mouseleave\',l),a.querySelectorAll(\'a\').forEach(function(e){e.addEventListener(\'focus\',m),e.addEventListener(\'blur\',l)})})();</script>\n <script>"use strict";!(function(){var e,t,n,o,i=document.querySelector(\'.news_view\'),s=document.querySelector(\'.font_btn\'),c=s.querySelector(\'.btn_font\'),r=s.querySelector(\'.list_font\'),u=r.querySelectorAll(\'input\'),a=\'GS_font_size\',l=\'v.daum.net\';function d(e){i.style.fontSize="".concat(e,"px"),document.querySelector("#inpFont".concat(e)).checked=!0,r.querySelectorAll(\'label\').forEach(function(e){return e.classList.remove(\'on\')}),r.querySelector("label[for=inpFont".concat(e,"]")).classList.add(\'on\'),e=e,Cookies.set(a,\'\',{expires:-1}),Cookies.set(a,e,{domain:l,expires:new Date(1*new Date+365*864e5)})}function f(){clearTimeout(e),t.classList.add(\'layer_open\'),n.setAttribute(\'aria-expanded\',!0)}function v(){t.classList.remove(\'layer_open\'),n.setAttribute(\'aria-expanded\',!1)}function p(){o&&(e=setTimeout(v,1))}d(Cookies.get(a)||17),u.forEach(function(e){e.addEventListener(\'change\',function(e){d(e.target.value)})}),t=(c={layer:s,btn:c,inputs:u}).layer,n=c.btn,c=c.inputs,o=!1,t.addEventListener(\'mouseover\',function(){o=!0,f()}),t.addEventListener(\'mouseleave\',function(){o=!1,v()}),c.forEach(function(e){e.addEventListener(\'focus\',f),e.addEventListener(\'blur\',p)}),n.addEventListener(\'click\',function(e){((o=!o)?f:v)()}),s={options:s.querySelectorAll(\'.ico_newsview\'),inputs:u},u=s.options,s=s.inputs,u.forEach(function(e){e.addEventListener(\'mouseover\',function(){this.classList.add(\'ico_focused\')}),e.addEventListener(\'mouseleave\',function(){this.classList.remove(\'ico_focused\')})}),s.forEach(function(e){e.addEventListener(\'focus\',function(){this.nextElementSibling.querySelector(\'span\').classList.add(\'ico_focused\')}),e.addEventListener(\'blur\',function(){this.nextElementSibling.querySelector(\'span\').classList.remove(\'ico_focused\')})})})();</script>\n <script>"use strict";document.body.querySelector(".btn_print").parentNode.addEventListener("click",function(t){t.preventDefault(),window.open(\'https://news.v.daum.net/v/20190728165812603?s=print_news\',\'newsPrint\',\'width=750,height=550,scrollbars=yes\')});</script>\n <script type="text/javascript" src="//comment.daum.net/js/latest/alex.action.min.js"></script>\n <script>"use strict";!(function(){var s="20190728165812603",e="".concat(Conf.api.hadesRest,"/pc_mc2_news?cate=").concat("news","&id=").concat(s),a=\'<li class="on"> <div class="inner_box"><span class="link_txt"><%= title %></span></div> </li>\',i=\'<li> <div class="inner_box"><a href="https://news.v.daum.net/v/<%= contentId %>" class="link_txt"><%= title %></a></div> </li>\',c=\'//news.daum.net/series\',r=document.querySelector(\'.relate_series\'),o=r.querySelector(\'.title_series\'),d=r.querySelector(\'.link_more\'),l=r.querySelector(\'.list_series\');function m(e){e&&e.parentNode.removeChild(e)}axios.get(e).then(function(e){var t,n=e.data.body.data.data;_.isEmpty(n)||\'series\'!==n[0].factor.type?m(r):(t=n[0],e=t.contents,n=t._id,t=t.title,e.length<3&&l.classList.add(\'relate_series2\'),o.textContent=t,d.setAttribute(\'href\',c+\'/\'+n),l.innerHTML=e.map(function(e){var t=e.contentId,e=e.title;return t==s?_.template(a)({title:e}):_.template(i)({contentId:t,title:e})}).join(\'\'),(e=r)&&e.classList.remove(\'hide\'))}).catch(function(e){console.error("[클러스터]: 데이터를 가져오는데 실패했습니다. 에러: ",e,"에러 데이터: ",e.response.data),m(r)})})();</script>\n <script>"use strict";function cmRenderFailCallBack(e){e.parentElement.removeChild(e)}</script>\n <script>"use strict";document.addEventListener(\'DOMContentLoaded\',function(){var t="".concat(Conf.api.hadesRest)+"/service_notice?id="+"3393",n=document.querySelector("#newsviewNotice");axios.get(t).then(function(t){var e=t.data.body.data,t=e.noticeTitle,e=e.noticeUrl;null!==t?n.innerHTML="<strong class=\\"tit_notice\\">공지</strong><span class=\\"txt_notice\\"><a href=\\"".concat(e,"\\" class=\\"link_txt\\">").concat(t,"</a></span>"):n.parentNode.removeChild(n)}).catch(function(t){console.log("댓글 공지 오류: "+t),n.parentNode.removeChild(n)})});</script>\n <script src="//comment.daum.net/js/latest/alex.single.min.js"></script>\n <script>"use strict";window.excludeCorejs=!1,window.alexConfig={label:{emptyImage:\'//i1.daumcdn.net/img-section/enter2013/liveviewer/pc_emot_co.gif\'},onLoad:function(){window.isLoadComment=!0}};</script>\n <script>"use strict";!(function(){var t,n,a=document.querySelector(\'.aside_popular\'),e=document.querySelectorAll(".tab_aside li a"),i={"뉴스":"news","연예":"entertain","스포츠":"sports"},c={news:{el:e[0],korName:"뉴스",moreLink:"https://news.daum.net/ranking/popular/all"},entertain:{el:e[1],korName:"연예",moreLink:"https://entertain.daum.net/ranking/popular"},sports:{el:e[2],korName:"스포츠",moreLink:"https://sports.daum.net/news/ranking"}},r=c["news"].el,l=1;function s(n){var e;r!==n&&((e=r.parentNode.querySelector(".cont_aside"))&&e.parentNode.removeChild(e),r.parentNode.classList.remove("on"),n.parentNode.classList.add("on"),l=1,o(n),r=n)}function o(n){var e=n.innerText,t=i[e],a=c[t].moreLink,s=document.createElement("div"),t=d(t);function o(){var n=document.querySelector(".cont_aside .list_ranking"),e=r.innerText,e=i[e];l=this.classList.contains("btn_prev")?1===l?3:l-1:3===l?1:l+1,n.innerHTML=d(e)}s.classList.add("cont_aside"),s.innerHTML="\\n <strong class=\\"screen_out\\">".concat(e,"</strong>\\n <ol class=\\"list_ranking\\">\\n ").concat(t," \\n </ol>\\n <div class=\\"util_aside\\">\\n <button class=\\"btn_slide btn_prev\\"><span class=\\"ico_newsview\\">이전</span></button>\\n <button class=\\"btn_slide btn_next\\"><span class=\\"ico_newsview\\">다음</span></button>\\n <a href=").concat(a," class=\\"link_all\\"><span class=\\"txt_newsview\\">전체 보기</span><span class=\\"ico_newsview\\"></span></a>\\n </div>\\n "),n.parentNode.appendChild(s),s.querySelector(".btn_prev").addEventListener(\'click\',o),s.querySelector(".btn_next").addEventListener(\'click\',o)}function d(n){return c[n].contents.slice(10*(l-1),10*l).map(function(n){return"\\n <li>\\n <em class=\\"num_newsview num".concat(n.index,"\\">").concat(n.index,"위</em>\\n <strong class=\\"tit_g\\"><a href=\\"").concat(n.pcLink,"\\" class=\\"link_txt @").concat(n.index,"\\">").concat(n.title,"</a></strong>\\n </li>\\n ")}).join(\'\')}t=c,n="".concat(Conf.api.hadesRest,"/pc_popular_news?size=30"),axios.get(n).then(function(n){var e=n.data.body.data;Object.keys(e).forEach(function(n){t[n].contents=e[n]}),o(r),a.classList.remove(\'hide\')}).catch(function(n){a.parentNode.removeChild(a)}),e.forEach(function(n){n.addEventListener("mouseover",function(n){return s(n.target)}),n.addEventListener("focus",function(n){return s(n.target)})})})();</script>\n <script>"use strict";!(function(){var t="<li>\\n <a class=\\"link_cont\\" href=\\"<%= url %>\\">\\n <span class=\\"wrap_thumb\\">\\n <img class=\\"thumb_g\\" src=\\"<%= thumbnail %>\\" alt=\\"\\"/>\\n <span class=\\"ico_phototv\\">\\n <% if (type == \'photo\') { %>\\n <span class=\\"ico_newsview ico_photo\\">포토</span>\\n <% } else { %>\\n <span class=\\"ico_newsview ico_vod\\">영상</span>\\n <% } %>\\n </span>\\n </span>\\n <strong class=\\"tit_thumb\\"><%= title %></strong>\\n </a>\\n </li>",o=document.querySelector(\'.aside_phototv\'),s=o.querySelector(\'.list_phototv\'),n="".concat(Conf.api.hadesRest,"/pc_photo_tv");function a(n){n&&n.parentNode.removeChild(n)}axios.get(n).then(function(n){n=n.data.body.data;_.isEmpty(n)?a(o):(s.innerHTML=n.map(function(n){return _.template(t)(n)}).join(\'\'),(n=o)&&n.classList.remove(\'hide\'))}).catch(function(n){console.error(\'[PC 뉴스 포토&TV]:\',n),a(o)})})();</script>\n <script>"use strict";!(function(){var n=\'S570x320\',e="20190728165812603",t=encodeURIComponent(JSON.stringify({itemid:e,category:"news".replace(\'tain\',\'\')})),e={source:e},r="<a href=\\"<%=obj.url%>\\" class=\\"link_cont\\" data-itemid=\\"<%=obj._id%>\\"\\" data-pos=\\"<%=obj.pos%>\\">\\n <span class=\\"wrap_thumb\\"><img src=\\"<%=obj.thumbnail%>\\" class=\\"thumb_g\\" alt=\\"\\"></span>\\n <strong class=\\"tit_thumb\\"><%=obj.title%></strong>\\n </a>",o="<strong class=\\"tit_g\\">\\n <span class=\\"info_news\\"><%=obj.cp_name%></span>\\n <a href=\\"<%=obj.url%>\\" data-itemid=\\"<%=obj._id%>\\" data-pos=\\"<%=obj.pos%>\\" class=\\"link_txt\\"><%=obj.title%></a>\\n </strong>",m=[];new Toros.Connector({url:\'mediadaum/most_similar\',queryParams:t,map:function(e){var t=e._id,a=e.title,i=e.image,e=e.cp_name,e={_id:t,url:"https://v.daum.net/v/".concat(t),title:a,thumbnail:StringUtil.makeThumbnail(i,n),cp_name:e};if(!(m.length<2&&i))return e;m.push(e)},svc:\'mediadaum_sim\',impLabel:\'toros_mediadaum_sim_imp\',impProps:e,viewLabel:\'toros_mediadaum_sim_vimp\',viewProps:e,clickLabel:\'toros_mediadaum_sim_click\',clickProps:e,customRender:function(e,i,n){var s=e.filter(function(e){return!!e._id});m.length<2||s.length<10?document.querySelector(\'.realtime_news\').remove():document.querySelectorAll(\'.item_realtime_news\').forEach(function(e,t){var a=t<2?{article:m.shift(),template:r}:{article:s.shift(),template:o},t=a.article,a=a.template;t?(e.insertAdjacentHTML(\'beforeend\',_.template(a)(t)),e.classList.remove(\'item_realtime_news\'),e.classList.length||e.removeAttribute(\'class\'),t=e.querySelector(\'a\'),i.observe(t),t.addEventListener(\'click\',n)):e.remove()})}}).render()})();</script>\n <script>"use strict";function onFailEtcBottomAd(){var t;null!==(t=document.querySelector(\'.etc_bottom_ad\'))&&void 0!==t&&t.remove()}</script>\n <script>"use strict";!(function(){var e=document.querySelector(".direct_link");e.querySelector(".btn_fold").addEventListener(\'click\',function(){e.classList.toggle("direct_open")})})();</script>\n <script>\n window.minidaum_options = JSON.parse(\'{"bgType":"white","enableLogoutRetun":true,"returnUrl":"","disableHotissue":false,"disableLogo":false,"disableTracker":true,"enableTopLink":false}\');\n</script>\n <script src="https://go.daum.net/minidaum_pc.daum"></script>\n <script>"use strict";document.querySelectorAll(\'.kakao_ad_area\').forEach(function(a){a.setAttribute(\'data-ad-param-channel\',\'harmony\'),a.setAttribute(\'data-ad-param-cp\',\'90_pc_media_news\')});</script>\n <script>"use strict";!(function(){var e,t,i,c=\'<div class="direct_view" style="top:<%= top %>px; width:<%= width %>px; margin-left:<%= left %>px"> <a href="<%= url %>" class="link_view"> <span class="txt_g"><%= title %></span> <span class="ico_view"> <span class="ico_newsview ico_gallery">갤러리 이동</span> </span> </a> </div>\';e=\'NHT9NtZWBe\',!(t=\'\')||(i=document.querySelector(\'img[dmcf-mtype="image"]\'))&&!i.querySelector(\'.direct_vod\')&&axios.get("".concat(Conf.api.hadesRest,"/photo_gallery_link_info?docId=").concat(e,"&galleryId=").concat(parseInt(t,10))).then(function(e){var t,a=e.data.body.data;t=i,a=(e=a).title,e=e.pcLink,a&&e&&(e={title:a,url:e,top:t.clientHeight-62,width:a=t.clientWidth,left:a/2*-1},a=document.createElement(\'div\'),t.parentNode.appendChild(a),a.outerHTML=_.template(c)(e))})})();</script>\n <script src="//search1.daumcdn.net/search/statics/common/js/g/search_dragselection.min.js"></script>\n <script>"use strict";!(function(){var e=document.querySelector(".head_media"),n=document.getElementById("wrapMinidaum").offsetHeight+e.offsetHeight,o=document.getElementById("barProgress"),d=document.getElementById("mAside"),s=document.getElementById("kakaoWrap"),l=document.getElementById("kakaoGnb"),r=document.getElementById("mArticle"),a=document.querySelector(".cmt_news"),c=document.querySelector(".aside_ad:first-child"),f=document.querySelector(".aside_ad:last-child"),g=document.getElementById(\'realtime_aside\');function t(){var e=window.scrollY||window.pageYOffset,t=document.body.offsetHeight,i=window.innerHeight;n<e?(i=100*e/(t-i),s.classList.add("header_fixed"),o.style.width=parseInt(i,10)+"%"):s.classList.remove("header_fixed")}function i(){var e=window.scrollX||window.pageXOffset,t=cMain.clientWidth,i=r.clientWidth,n=t-i-d.clientWidth,o=getComputedStyle(cMain),s=null;s=g?(t=g.getBoundingClientRect().left)<880?t+e:t:i+n+parseInt(o[\'marginLeft\'],10)-e,r.offsetHeight<d.offsetHeight||(a.style.minHeight=\'250px\',0<(n=(window.scrollY||window.pageYOffset)-cMain.offsetTop-8-c.clientHeight)?(o=r.offsetHeight-a.offsetHeight,(e=d.offsetHeight-f.offsetHeight)+n+8<o?(d.style.position=\'fixed\',d.style.top=l.clientHeight-c.offsetHeight-74+\'px\',d.style.left=s+\'px\'):(d.style.position=\'relative\',d.style.top=o-e+\'px\',d.style.left=\'inherit\')):(d.style.position=\'static\',d.style.top=\'inherit\',d.style.left=\'inherit\'))}\'false\'!=\'true\'&&\'news\'==\'news\'?(window.addEventListener("resize",_.throttle(i,100)),window.addEventListener("scroll",_.throttle(function(){t(),i()},100)),t(),i()):(window.addEventListener("scroll",_.throttle(function(){t()},100)),t())})();</script>\n <script type="text/javascript" src="//t1.daumcdn.net/tiara/js/v1/tiara.min.js"></script>\n <script>"use strict";!(function(){if(window.TiaraTracker){var c=!1,s=new Date,m="pc_news",l=null;try{l=Cookies.get(\'DAUMTOP\')||Cookies.get(\'HARMONY_TOROS_IMP\')&&window.atob(Cookies.get(\'HARMONY_TOROS_IMP\'))}catch(e){l=Cookies.get(\'DAUMTOP\')}var u=\'\',g=\'\',y=TiaraTracker.getInstance().setSvcDomain("media.daum.net").setPage("newsview").trackPage("newsview").setSection("digital").setEnableAlwaysImage(!0),f={id:"20190728165812603",type:"article",name:"\\uC77C\\uB860\\uBA38\\uC2A4\\uD06C \\"\\uD14C\\uC2AC\\uB77C\\uC5D0\\uC11C \\uB137\\uD50C\\uB9AD\\uC2A4\\u00B7\\uC720\\uD29C\\uBE0C \\uC990\\uAE38 \\uB0A0 \\uC628\\uB2E4\\"",category_id:"100031",category:"digital",author:"\\uC774\\uBBFC\\uC6B0",author_id:"letzwin@asiae.co.kr",provider:"\\uC544\\uC2DC\\uC544\\uACBD\\uC81C",provider_id:"90",regdate:"2019-07-28 16:58:12",plink:"https://media.daum.net/v/20190728165812603",image:"https://t1.daumcdn.net/news/201907/28/akn/20190728165813230vjsq.jpg",harmony_consumer_id:"media",media:"pcweb"},p={contentUniqueKey:"hamny-".concat(f.id),docId:"NHT9NtZWBe",harmony_consumer_id:"media",media:"pcweb",reg_dt:"2019-07-28 16:58:12",reg_timestamp:"1564300692871"},e=function(){c||y.actionKind("ViewContent").pageMeta(f).customProps(p).track()},t=function(){if(!c){c=!0;var e=document.body.scrollHeight,t=window.scrollY,a=e-t,o=window.innerHeight,n=Math.round(t/(e-o)*100),i={},o={duration:(new Date).getTime()-s.getTime(),scroll_percent:n,scroll_height:e,scroll_top:t,scroll_bottom:a,scroll_inner_height:o};try{var d,r=!1;!l||(d=JSON.parse(l)).contents_unique_key===p.contentUniqueKey&&(i={toros_imp_id:d.impression_id,toros_file_hash_key:d.toros_file_hash_key,toros_user_id_type:"uuid",toros_page_meta_id:p.contentUniqueKey,toros_event_meta_id:p.contentUniqueKey,toros_action_type:"dwelltime"},Cookies.remove(\'HARMONY_TOROS_IMP\',{path:\'/\',domain:location.hostname.substring(location.hostname.indexOf(\'.\'))}),Cookies.remove(\'DAUMTOP\',{path:\'/\',domain:\'.daum.net\'}),r=!0),!r&&0<u.length&&(i={toros_imp_id:window.atob(u),toros_file_hash_key:window.atob(g),toros_user_id_type:"uuid",toros_page_meta_id:p.contentUniqueKey,toros_event_meta_id:p.contentUniqueKey,toros_action_type:"dwelltime"})}catch(e){}y.trackUsage().actionKind("UsagePage").pageMeta(f).usage(o).customProps(_.assignIn(p,i)).track()}};"onpagehide"in window?(window.addEventListener("pageshow",e,!1),window.addEventListener("pagehide",t,!1)):(window.addEventListener("load",e,!1),window.addEventListener("unload",t,!1)),document.addEventListener("visibilitychange",function(){(document["hidden"]?t:e)()},!1),document.addEventListener("mousedown",function(e){var t,a,o,n,i,d,r=e.target,c=r.closest("[data-cloud]"),s=r.closest("a")||r.closest("button")||r.closest(\'div.selectionbox\');s&&null!=c&&c.contains(s)&&((i=TiaraTracker.getClickInfo(e))&&(a=(null==(t=i.action)?void 0:t.name)||"",o=(null==t?void 0:t.kind)||"",n=_.assignIn(p,i.customProps),i=r.closest("[data-tiara]"),r=s.querySelector("img"),d=0,Array.from((c||i).querySelectorAll("a, button")).map(function(e,t){e==s&&(d=t)}),e={layer1:m,layer2:c.dataset.cloud,layer3:(null==i?void 0:i.dataset.tiara)||"",click_url:s.href||"",ordnum:d,copy:s.classList.contains(\'selectionbox\')?null==t?void 0:t.name:s.innerText,image:(null==r?void 0:r.src)||"",posX:e.clientX,posY:e.clientY},y.trackEvent(a).pageMeta(f).actionKind(o).customProps(n).click(e).track()))})}})();</script>\n </body>\n</html>'
url = 'https://news.v.daum.net/v/20190728165812603'
resp = requests.get(url)
soup = BeautifulSoup(resp.text)
title = soup.find('h3', class_='tit_view')
title.get_text()
'일론머스크 "테슬라에서 넷플릭스·유튜브 즐길 날 온다"'
url = 'https://news.v.daum.net/v/20190728165812603'
resp = requests.get(url)
soup = BeautifulSoup(resp.text)
soup.find_all('span', class_='txt_info')[0]
soup.find_all('span', class_='txt_info')[1]
<span class="txt_info">입력 <span class="num_date">2019. 07. 28. 16:58</span></span>
url = 'https://news.v.daum.net/v/20190728165812603'
resp = requests.get(url)
soup = BeautifulSoup(resp.text)
info = soup.find('span', class_='info_view')
info.find('span', class_='txt_info')
<span class="txt_info">이민우</span>
url = 'https://news.v.daum.net/v/20190728165812603'
resp = requests.get(url)
#<div id="harmonyContainer" class="article_view" data-translation-body="true">
soup = BeautifulSoup(resp.text)
container = soup.find('div', id='harmonyContainer')
contents = ''
for p in container.find_all('p'):
contents += p.get_text().strip()
contents
'[아시아경제 이민우 기자] 일론 머스크 테슬라 최고경영자(CEO)가 자사 전기 자동차 모델에 넷플릭스와 유튜브 등 온라인동영상서비스(OTT)를 탑재할 것이라고 예고했다. 단순히 자율 주행 전기차가 단순히 주행을 위한 정보를 알려주는 것을 넘어 각종 영상 콘텐츠를 즐기는 공간으로도 확장하겠다는 전략으로 풀이된다.27일(현지시간) 더버지 등 주요 외신들에 따르면 머스크 CEO는 자신의 트위터를 통해 이 같은 계획을 밝혔다. 그는 "자동차가 정차했을 때 넷플릭스와 유튜브를 감상할 수 있는 기능이 조만간 추가될 것"이라며 "편안한 좌석과 서라운드 사운드 오디오를 통해 영화관과 같은 느낌을 받을 수 있을 것"이라고 강조했다.테슬라가 이처럼 콘텐츠 방면으로 확장하려 든 것은 이번이 처음이 아니다. 지난달 세계 최대 게임쇼 E3에서는 이미 운전자가 \'폴아웃 쉘터\'라는 게임을 할 수 있을 것이라고 발표한 바 있다. 이후에도 최근 게임업체 아타리사(社)의 자동차 경주 게임 ‘폴포지션’, 슈팅게임 ‘템페스트’, ‘미사일커맨드’ 등 고전 게임을 제공하기도 했다. 운전대로 게임을 조작하는 방식으로, 차가 주차돼 있을 경우에만 즐길 수 있다.이번 영상 콘텐츠는 주행 중에도 감상할 수 있도록 하는 방안을 고려하고 있다. 테슬라 측은 규제당국이 자율주행에 대해 완전히 승인하면 차량이 움직일 때에도 승객이 동영상을 즐길 수 있을 것이라고 설명했다.하지만 아직까지 자율주행차의 안전에 대한 우려는 완전히 걷혀지지 않은 상황이다. 지난 2017년 차량공유 서비스 우버의 자율주행 시범차량이 보행자와 충돌한 사고가 발생한 바 있다. 게다가 당시 시험 운전자는 디즈니의 동영상 스트리밍 서비스인 \'훌루\'를 이용하고 있던 것으로 밝혀졌다.이민우 기자 letzwin@asiae.co.kr<ⓒ경제를 보는 눈, 세계를 보는 창 아시아경제 무단전재 배포금지>'
url = 'https://news.v.daum.net/v/20190728165812603'
resp = requests.get(url)
#<div id="harmonyContainer" class="article_view" data-translation-body="true">
soup = BeautifulSoup(resp.text)
container = soup.find('div', id='harmonyContainer')
container
<div class="article_view" data-translation-body="true" id="harmonyContainer">
<section dmcf-sid="NkBWHdyrlY">
<figure class="figure_frm origin_fig" dmcf-pid="N7s2biXYTL" dmcf-ptype="figure">
<p class="link_figure"><img alt="일론 머스크 테슬라 최고경영자(CEO) [이미지출처=로이터연합뉴스]" class="thumb_g_article" data-org-src="https://t1.daumcdn.net/news/201907/28/akn/20190728165813230vjsq.jpg" data-org-width="550" dmcf-mid="NBMY3ZZhN4" dmcf-mtype="image" height="auto" src="https://img3.daumcdn.net/thumb/R658x0.q70/?fname=https://t1.daumcdn.net/news/201907/28/akn/20190728165813230vjsq.jpg" width="658"/></p>
<figcaption class="txt_caption default_figure">
일론 머스크 테슬라 최고경영자(CEO) [이미지출처=로이터연합뉴스]
</figcaption>
</figure>
<div dmcf-pid="NU9K9rfDgA" dmcf-ptype="general">
<p>[아시아경제 이민우 기자] 일론 머스크 테슬라 최고경영자(CEO)가 자사 전기 자동차 모델에 넷플릭스와 유튜브 등 온라인동영상서비스(OTT)를 탑재할 것이라고 예고했다. 단순히 자율 주행 전기차가 단순히 주행을 위한 정보를 알려주는 것을 넘어 각종 영상 콘텐츠를 즐기는 공간으로도 확장하겠다는 전략으로 풀이된다.</p>
<br/>
<p>27일(현지시간) 더버지 등 주요 외신들에 따르면 머스크 CEO는 자신의 트위터를 통해 이 같은 계획을 밝혔다. 그는 "자동차가 정차했을 때 넷플릭스와 유튜브를 감상할 수 있는 기능이 조만간 추가될 것"이라며 "편안한 좌석과 서라운드 사운드 오디오를 통해 영화관과 같은 느낌을 받을 수 있을 것"이라고 강조했다.</p>
</div>
<figure class="figure_frm origin_fig" dmcf-pid="NlqQhf4JmF" dmcf-ptype="figure">
<p class="link_figure"><img alt="(출처=일론 머스크 트위터 계정 캡쳐)" class="thumb_g_article" data-org-src="https://t1.daumcdn.net/news/201907/28/akn/20190728165813670hwxf.png" data-org-width="550" dmcf-mid="NRhnb5SRpx" dmcf-mtype="image" height="auto" src="https://img4.daumcdn.net/thumb/R658x0.q70/?fname=https://t1.daumcdn.net/news/201907/28/akn/20190728165813670hwxf.png" width="658"/></p>
<figcaption class="txt_caption default_figure">
(출처=일론 머스크 트위터 계정 캡쳐)
</figcaption>
</figure>
<div dmcf-pid="NpkG4d9A6j" dmcf-ptype="general">
<p>테슬라가 이처럼 콘텐츠 방면으로 확장하려 든 것은 이번이 처음이 아니다. 지난달 세계 최대 게임쇼 E3에서는 이미 운전자가 '폴아웃 쉘터'라는 게임을 할 수 있을 것이라고 발표한 바 있다. 이후에도 최근 게임업체 아타리사(社)의 자동차 경주 게임 ‘폴포지션’, 슈팅게임 ‘템페스트’, ‘미사일커맨드’ 등 고전 게임을 제공하기도 했다. 운전대로 게임을 조작하는 방식으로, 차가 주차돼 있을 경우에만 즐길 수 있다.</p>
<br/>
<p>이번 영상 콘텐츠는 주행 중에도 감상할 수 있도록 하는 방안을 고려하고 있다. 테슬라 측은 규제당국이 자율주행에 대해 완전히 승인하면 차량이 움직일 때에도 승객이 동영상을 즐길 수 있을 것이라고 설명했다.</p>
<br/>
<p>하지만 아직까지 자율주행차의 안전에 대한 우려는 완전히 걷혀지지 않은 상황이다. 지난 2017년 차량공유 서비스 우버의 자율주행 시범차량이 보행자와 충돌한 사고가 발생한 바 있다. 게다가 당시 시험 운전자는 디즈니의 동영상 스트리밍 서비스인 '훌루'를 이용하고 있던 것으로 밝혀졌다.</p>
</div>
<p dmcf-pid="NUOWg8Qxyd" dmcf-ptype="general">이민우 기자 letzwin@asiae.co.kr</p>
</section>
<p data-translation="true"><ⓒ경제를 보는 눈, 세계를 보는 창 아시아경제 무단전재 배포금지></p>
</div>
- CSS를 이용하여 tag 찾기
- select, select_one함수 사용
- css selector 사용법
- 태그명 찾기 tag
- 자손 태그 찾기 - 자손 관계 (tag tag)
- 자식 태그 찾기 - 다이렉트 자식 관계 (tag > tag)
- 아이디 찾기 #id
- 클래스 찾기 .class
- 속성값 찾기 [name=’test’]
- 속성값 prefix 찾기 [name ^=’test’]
- 속성값 suffix 찾기 [name $=’test’]
- 속성값 substring 찾기 [name *=’test]
- n번째 자식 tag 찾기 :nth-child(n)
url = 'https://news.v.daum.net/v/20190728165812603'
resp = requests.get(url)
soup = BeautifulSoup(resp.text)
soup.select('h3')
[<h3 class="tit_view" data-translation="true">일론머스크 "테슬라에서 넷플릭스·유튜브 즐길 날 온다"</h3>,
<h3 class="tit_cp">아시아경제 주요 뉴스</h3>,
<h3 class="txt_newsview">많이본 뉴스</h3>,
<h3 class="txt_newsview">포토&TV</h3>,
<h3 class="txt_newsview">이 시각 추천뉴스</h3>]
soup.select('div#harmonyContainer')#div태그이면서 id가 harmonyContainer 검색
[<div class="article_view" data-translation-body="true" id="harmonyContainer">
<section dmcf-sid="NkBWHdyrlY">
<figure class="figure_frm origin_fig" dmcf-pid="N7s2biXYTL" dmcf-ptype="figure">
<p class="link_figure"><img alt="일론 머스크 테슬라 최고경영자(CEO) [이미지출처=로이터연합뉴스]" class="thumb_g_article" data-org-src="https://t1.daumcdn.net/news/201907/28/akn/20190728165813230vjsq.jpg" data-org-width="550" dmcf-mid="NBMY3ZZhN4" dmcf-mtype="image" height="auto" src="https://img2.daumcdn.net/thumb/R658x0.q70/?fname=https://t1.daumcdn.net/news/201907/28/akn/20190728165813230vjsq.jpg" width="658"/></p>
<figcaption class="txt_caption default_figure">
일론 머스크 테슬라 최고경영자(CEO) [이미지출처=로이터연합뉴스]
</figcaption>
</figure>
<div dmcf-pid="NU9K9rfDgA" dmcf-ptype="general">
<p>[아시아경제 이민우 기자] 일론 머스크 테슬라 최고경영자(CEO)가 자사 전기 자동차 모델에 넷플릭스와 유튜브 등 온라인동영상서비스(OTT)를 탑재할 것이라고 예고했다. 단순히 자율 주행 전기차가 단순히 주행을 위한 정보를 알려주는 것을 넘어 각종 영상 콘텐츠를 즐기는 공간으로도 확장하겠다는 전략으로 풀이된다.</p>
<br/>
<p>27일(현지시간) 더버지 등 주요 외신들에 따르면 머스크 CEO는 자신의 트위터를 통해 이 같은 계획을 밝혔다. 그는 "자동차가 정차했을 때 넷플릭스와 유튜브를 감상할 수 있는 기능이 조만간 추가될 것"이라며 "편안한 좌석과 서라운드 사운드 오디오를 통해 영화관과 같은 느낌을 받을 수 있을 것"이라고 강조했다.</p>
</div>
<figure class="figure_frm origin_fig" dmcf-pid="NlqQhf4JmF" dmcf-ptype="figure">
<p class="link_figure"><img alt="(출처=일론 머스크 트위터 계정 캡쳐)" class="thumb_g_article" data-org-src="https://t1.daumcdn.net/news/201907/28/akn/20190728165813670hwxf.png" data-org-width="550" dmcf-mid="NRhnb5SRpx" dmcf-mtype="image" height="auto" src="https://img4.daumcdn.net/thumb/R658x0.q70/?fname=https://t1.daumcdn.net/news/201907/28/akn/20190728165813670hwxf.png" width="658"/></p>
<figcaption class="txt_caption default_figure">
(출처=일론 머스크 트위터 계정 캡쳐)
</figcaption>
</figure>
<div dmcf-pid="NpkG4d9A6j" dmcf-ptype="general">
<p>테슬라가 이처럼 콘텐츠 방면으로 확장하려 든 것은 이번이 처음이 아니다. 지난달 세계 최대 게임쇼 E3에서는 이미 운전자가 '폴아웃 쉘터'라는 게임을 할 수 있을 것이라고 발표한 바 있다. 이후에도 최근 게임업체 아타리사(社)의 자동차 경주 게임 ‘폴포지션’, 슈팅게임 ‘템페스트’, ‘미사일커맨드’ 등 고전 게임을 제공하기도 했다. 운전대로 게임을 조작하는 방식으로, 차가 주차돼 있을 경우에만 즐길 수 있다.</p>
<br/>
<p>이번 영상 콘텐츠는 주행 중에도 감상할 수 있도록 하는 방안을 고려하고 있다. 테슬라 측은 규제당국이 자율주행에 대해 완전히 승인하면 차량이 움직일 때에도 승객이 동영상을 즐길 수 있을 것이라고 설명했다.</p>
<br/>
<p>하지만 아직까지 자율주행차의 안전에 대한 우려는 완전히 걷혀지지 않은 상황이다. 지난 2017년 차량공유 서비스 우버의 자율주행 시범차량이 보행자와 충돌한 사고가 발생한 바 있다. 게다가 당시 시험 운전자는 디즈니의 동영상 스트리밍 서비스인 '훌루'를 이용하고 있던 것으로 밝혀졌다.</p>
</div>
<p dmcf-pid="NUOWg8Qxyd" dmcf-ptype="general">이민우 기자 letzwin@asiae.co.kr</p>
</section>
<p data-translation="true"><ⓒ경제를 보는 눈, 세계를 보는 창 아시아경제 무단전재 배포금지></p>
</div>]
soup.select('#harmonyContainer > p') #id값 검색시 #사용함 / > 은 자식검색
[<p data-translation="true"><ⓒ경제를 보는 눈, 세계를 보는 창 아시아경제 무단전재 배포금지></p>]
soup.select('#harmonyContainer p')
[<p class="link_figure"><img alt="일론 머스크 테슬라 최고경영자(CEO) [이미지출처=로이터연합뉴스]" class="thumb_g_article" data-org-src="https://t1.daumcdn.net/news/201907/28/akn/20190728165813230vjsq.jpg" data-org-width="550" dmcf-mid="NBMY3ZZhN4" dmcf-mtype="image" height="auto" src="https://img2.daumcdn.net/thumb/R658x0.q70/?fname=https://t1.daumcdn.net/news/201907/28/akn/20190728165813230vjsq.jpg" width="658"/></p>,
<p>[아시아경제 이민우 기자] 일론 머스크 테슬라 최고경영자(CEO)가 자사 전기 자동차 모델에 넷플릭스와 유튜브 등 온라인동영상서비스(OTT)를 탑재할 것이라고 예고했다. 단순히 자율 주행 전기차가 단순히 주행을 위한 정보를 알려주는 것을 넘어 각종 영상 콘텐츠를 즐기는 공간으로도 확장하겠다는 전략으로 풀이된다.</p>,
<p>27일(현지시간) 더버지 등 주요 외신들에 따르면 머스크 CEO는 자신의 트위터를 통해 이 같은 계획을 밝혔다. 그는 "자동차가 정차했을 때 넷플릭스와 유튜브를 감상할 수 있는 기능이 조만간 추가될 것"이라며 "편안한 좌석과 서라운드 사운드 오디오를 통해 영화관과 같은 느낌을 받을 수 있을 것"이라고 강조했다.</p>,
<p class="link_figure"><img alt="(출처=일론 머스크 트위터 계정 캡쳐)" class="thumb_g_article" data-org-src="https://t1.daumcdn.net/news/201907/28/akn/20190728165813670hwxf.png" data-org-width="550" dmcf-mid="NRhnb5SRpx" dmcf-mtype="image" height="auto" src="https://img4.daumcdn.net/thumb/R658x0.q70/?fname=https://t1.daumcdn.net/news/201907/28/akn/20190728165813670hwxf.png" width="658"/></p>,
<p>테슬라가 이처럼 콘텐츠 방면으로 확장하려 든 것은 이번이 처음이 아니다. 지난달 세계 최대 게임쇼 E3에서는 이미 운전자가 '폴아웃 쉘터'라는 게임을 할 수 있을 것이라고 발표한 바 있다. 이후에도 최근 게임업체 아타리사(社)의 자동차 경주 게임 ‘폴포지션’, 슈팅게임 ‘템페스트’, ‘미사일커맨드’ 등 고전 게임을 제공하기도 했다. 운전대로 게임을 조작하는 방식으로, 차가 주차돼 있을 경우에만 즐길 수 있다.</p>,
<p>이번 영상 콘텐츠는 주행 중에도 감상할 수 있도록 하는 방안을 고려하고 있다. 테슬라 측은 규제당국이 자율주행에 대해 완전히 승인하면 차량이 움직일 때에도 승객이 동영상을 즐길 수 있을 것이라고 설명했다.</p>,
<p>하지만 아직까지 자율주행차의 안전에 대한 우려는 완전히 걷혀지지 않은 상황이다. 지난 2017년 차량공유 서비스 우버의 자율주행 시범차량이 보행자와 충돌한 사고가 발생한 바 있다. 게다가 당시 시험 운전자는 디즈니의 동영상 스트리밍 서비스인 '훌루'를 이용하고 있던 것으로 밝혀졌다.</p>,
<p dmcf-pid="NUOWg8Qxyd" dmcf-ptype="general">이민우 기자 letzwin@asiae.co.kr</p>,
<p data-translation="true"><ⓒ경제를 보는 눈, 세계를 보는 창 아시아경제 무단전재 배포금지></p>]
soup.select('h3.tit_view')
soup.select('.tit_view') #태그에 관계없이 가져옴 / 클래스 찾기 .class
[<h3 class="tit_view" data-translation="true">일론머스크 "테슬라에서 넷플릭스·유튜브 즐길 날 온다"</h3>]
soup.select('h3[class="tit_view"]')
[<h3 class="tit_view" data-translation="true">일론머스크 "테슬라에서 넷플릭스·유튜브 즐길 날 온다"</h3>]
soup.select('h3[class^="t"]') # ^ -> t로 시작하는 클래스 이름 찾는다
soup.select('h3[class^="tx"]') #tx로 시작하는 클래스 이름 찾는다
[<h3 class="txt_newsview">많이본 뉴스</h3>,
<h3 class="txt_newsview">포토&TV</h3>,
<h3 class="txt_newsview">이 시각 추천뉴스</h3>]
soup.select('h3[class$="view"]') #$ - > view으로 끝나는 클래스 이름 찾는다
[<h3 class="tit_view" data-translation="true">일론머스크 "테슬라에서 넷플릭스·유튜브 즐길 날 온다"</h3>,
<h3 class="txt_newsview">많이본 뉴스</h3>,
<h3 class="txt_newsview">포토&TV</h3>,
<h3 class="txt_newsview">이 시각 추천뉴스</h3>]
soup.select('h3[class$="_view"]')
[<h3 class="tit_view" data-translation="true">일론머스크 "테슬라에서 넷플릭스·유튜브 즐길 날 온다"</h3>]
soup.select('h3[class*="view"]') # * - > view으로 된 모든 클래스 이름 찾는다
[<h3 class="tit_view" data-translation="true">일론머스크 "테슬라에서 넷플릭스·유튜브 즐길 날 온다"</h3>,
<h3 class="txt_newsview">많이본 뉴스</h3>,
<h3 class="txt_newsview">포토&TV</h3>,
<h3 class="txt_newsview">이 시각 추천뉴스</h3>]
soup.select('span.txt_info:nth-child(1)') #n번째 자식 tag 찾기 :nth-child(n)
[<span class="txt_info">이민우</span>]
soup.select('span.txt_info:nth-child(2)')
[<span class="txt_info">입력 <span class="num_date">2019. 07. 28. 16:58</span></span>]
- 정규표현식으로 tag 찾기
import re
soup.find_all(re.compile('h\d'))#h하고 숫자가 붙는거 찾는다
[<h1> <a class="link_daum" href="https://www.daum.net"> <img alt="Daum" class="thumb_g" height="19" src="//t1.daumcdn.net/media/news/news2016/retina/logo_daum.jpg" width="45"/> </a> <a href="//news.daum.net" id="kakaoServiceLogo"><span class="ir_wa">뉴스</span></a> </h1>,
<h2 class="screen_out">검색</h2>,
<h2 class="screen_out">뉴스 메인메뉴</h2>,
<h2 class="screen_out" id="kakaoBody">IT</h2>,
<h3 class="tit_view" data-translation="true">일론머스크 "테슬라에서 넷플릭스·유튜브 즐길 날 온다"</h3>,
<h4 class="screen_out">기사 도구 모음</h4>,
<h3 class="tit_cp">아시아경제 주요 뉴스</h3>,
<h3 class="txt_newsview">많이본 뉴스</h3>,
<h3 class="txt_newsview">포토&TV</h3>,
<h3 class="txt_newsview">이 시각 추천뉴스</h3>,
<h2 class="tit_direct">바로가기</h2>,
<h2 class="screen_out">서비스 이용정보</h2>]
soup.find_all('img', attrs={'src': '.jpg'})
[]
soup.find_all('img', attrs={'src': re.compile('.+\.jpg')})
[<img alt="Daum" class="thumb_g" height="19" src="//t1.daumcdn.net/media/news/news2016/retina/logo_daum.jpg" width="45"/>,
<img alt="일론 머스크 테슬라 최고경영자(CEO) [이미지출처=로이터연합뉴스]" class="thumb_g_article" data-org-src="https://t1.daumcdn.net/news/201907/28/akn/20190728165813230vjsq.jpg" data-org-width="550" dmcf-mid="NBMY3ZZhN4" dmcf-mtype="image" height="auto" src="https://img2.daumcdn.net/thumb/R658x0.q70/?fname=https://t1.daumcdn.net/news/201907/28/akn/20190728165813230vjsq.jpg" width="658"/>]
soup.find_all('img', attrs={'src':re.compile('.+\.gif')})
[<img alt="아시아경제" class="thumb_g" src="https://t1.daumcdn.net/media/news/news2016/cp/cp_akn.gif"/>]
soup.find_all('img', attrs={'src':re.compile('.+\.png')})
[<img alt="(출처=일론 머스크 트위터 계정 캡쳐)" class="thumb_g_article" data-org-src="https://t1.daumcdn.net/news/201907/28/akn/20190728165813670hwxf.png" data-org-width="550" dmcf-mid="NRhnb5SRpx" dmcf-mtype="image" height="auto" src="https://img4.daumcdn.net/thumb/R658x0.q70/?fname=https://t1.daumcdn.net/news/201907/28/akn/20190728165813670hwxf.png" width="658"/>]
soup.find_all('h3', class_='tit_view')
[<h3 class="tit_view" data-translation="true">일론머스크 "테슬라에서 넷플릭스·유튜브 즐길 날 온다"</h3>]
soup.find_all('h3', class_=re.compile('.+newsview$'))
[<h3 class="txt_newsview">많이본 뉴스</h3>,
<h3 class="txt_newsview">포토&TV</h3>,
<h3 class="txt_newsview">이 시각 추천뉴스</h3>]
soup.find_all('h3', class_=re.compile('.+view$'))
[<h3 class="tit_view" data-translation="true">일론머스크 "테슬라에서 넷플릭스·유튜브 즐길 날 온다"</h3>,
<h3 class="txt_newsview">많이본 뉴스</h3>,
<h3 class="txt_newsview">포토&TV</h3>,
<h3 class="txt_newsview">이 시각 추천뉴스</h3>]
- 댓글 개수 추출
- 댓글의 경우, 최초 로딩시에 전달되지 않음
- 이 경우는 추가적으로 AJAX로 비동기적 호출을 하여 따로 data 전송을 함
- 개발자 도구의 network 탭에서 확인(XHR: XmlHTTPRequest)
- 비동기적 호출: 사이트의 전체가 아닌 일부분만 업데이트 가능하도록 함