안녕하세요
오랫만에 글을 쓰게 됩니다.
notion을 별도로 관리를 하다보니 블로그에 글을 쓰는 빈도가 너무 적어지게 되는데요
그래도 꾸준히 써서 좋은 글을 여러분께 공유드리도록 최선을 다하겠습니다!
오늘은 curl이라는 것을 알아보고자합니다. 요즘 크롤링을 되게 많이 하고 관련된 영상들도 많이 올라오는데요.
curl을 이용해서도 정보를 쉽고 빠르게 가져올 수 있더라구요!
그래서 curl에 대해서 공부한 내용을 공유 드리겠습니다.
curl을 계속 사용하면서 추가되는 내용을 지속적으로 업데이트 하도록 하겠습니다.
오늘 목차를 크게 이렇게 잡아보았습니다.
1. curl이 무엇인지?
2. 어떤 장점이 있는지?
3. 실제 사용하는 방법
사실 이런것들을 조사할 때는 저는 "curl doc" 라고 검색을 진행합니다.
doc는 document의 줄임말로 많은 curl의 공식 document를 바로 볼 수 있습니다.
1. curl이란?
-. curl은 client url의 줄임말로써, 사용자(클라이언트)가 커멘드 라인을 이용하여 서버와 통신할 수 있도록 도와주는 툴 이다.
-. 여기서 서버란? 네이버, 구글 등 다양한 사이트의 서버를 의미한다.
2. curl의 장점은?
-. curl은 open source이면서도, 정말 다양한 프로토콜과 송수신을 할 수 있다는 장점이 있다.
- 하단의 표는 curl doc comparison에서 발췌한 표이며, curl이 얼마나 많은 프로토콜과 송수신을 할 수 있는지 정리되어 있다.
curl comparison - 출처 : curl doc ( 클릭시 이동 )
3. 사용방법
-. 예시1
curl https://search.naver.com/search.naver?where=nexearch&sm=top_hty&fbm=0&ie=utf8&query= -d "q=손흥민"
위 코드는 네이버에서 손흥민을 curl로 검색할 수 있는 코드입니다.
curl + 검색하고자 하는 링크 + q에는 검색어를 넣으면 됩니다.
그럼 아래와 같이 검색된 결과를 볼 수 있습니다.
<!doctype html> <html lang="ko"> <head> <meta charset="utf-8"> <meta name="referrer" content="always"> <meta name="format-detection" content="telephone=no,address=no,email=no"> <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=2.0"> <meta property="og:title" content=" : 네이버 통합검색"/> <meta property="og:image" content="https://ssl.pstatic.net/sstatic/search/common/og_v3.png"> <meta property="og:description" content="''의 네이버 통합검색 결과입니다."> <meta name="description" lang="ko" content="''의 네이버 통합검색 결과입니다."> <title> : 네이버 통합검색</title> <link rel="shortcut icon" href="https://ssl.pstatic.net/sstatic/search/favicon/favicon_191118_pc.ico"> <link rel="search" type="application/opensearchdescription+xml" href="https://ssl.pstatic.net/sstatic/search/opensearch-description.https.xml" title="Naver" /><link rel="stylesheet" type="text/css" href="https://ssl.pstatic.net/sstatic/search/pc/css/search1_221110.css"> <link rel="stylesheet" type="text/css" href="https://ssl.pstatic.net/sstatic/search/pc/css/search2_221110.css"> <link rel="stylesheet" type="text/css" href="https://ssl.pstatic.net/sstatic/search/pc/css/sp_autocomplete_220526.css"><script type="text/javascript"> if (!String.prototype.trim) { String.prototype.trim = function () { return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''); }; } if (!Array.prototype.indexOf) { Array.prototype.indexOf = function(searchElement, fromIndex) { var k; if (this == null) { throw new TypeError('"this" is null or not defined'); } var o = Object(this); var len = o.length >>> 0; if (len === 0) { return -1; } var n = fromIndex | 0; if (n >= len) { return -1; } k = Math.max(n >= 0 ? n : len - Math.abs(n), 0); while (k < len) { if (k in o && o[k] === searchElement) { return k; } k++; } return -1; }; } if (!Array.prototype.filter) { Array.prototype.filter = function(func, thisArg) { 'use strict'; if (!((typeof func === 'Function' || typeof func === 'function') && this)) throw new TypeError(); var len = this.length >>> 0, res = new Array(len), t = this, c = 0, i = -1; var kValue; if (thisArg === undefined) { while (++i !== len) { if (i in this) { kValue = t[i]; if (func(t[i], i, t)) { res[c++] = kValue; } } } } else { while (++i !== len) { if (i in this) { kValue = t[i]; if (func.call(thisArg, t[i], i, t)) { res[c++] = kValue; } } } } res.length = c; return res; }; } if (typeof(encodeURIComponent) != "function") { encodeURIComponent = function (s) { function toHex (n) { var hexchars = "0123456789ABCDEF" ; return "%%" + hexchars.charAt(n>>4) + hexchars.charAt(n&0xF) ; } var es = "" ; for (var i = 0; i < s.length;) { var c = s.charCodeAt(i++) ; if ((c&0xF800) == 0xD800) { var sc = s.charCodeAt(i++) ; c = ((c-0xD800)<<10) + (sc-0xDC00) + 0x10000 ; } if (!(c&~0x7F)) { if ((c>=65&&c<=90) || (c>=97&&c<=122) || (c>=48&&c<=57) || (c>=45&&c<=46) || c==95 || c==33 || c==126 || (c>=39&&c<=42)) es += String.fromCharCode(c) ; else es += toHex(c) ; } else if (!(c&~0x7FF)) es += toHex(0xC0+(c>>6)) + toHex(c&0x3F) ; else if (!(c&~0xFFFF)) es += toHex(0xE0+(c>>12)) + toHex(0x80+(c>>6&0x3F)) + toHex(0x80+(c&0x3F)) ; else es += toHex(0xF0+(c>>18)) + toHex(0x80+(c>>12&0x3F)) + toHex(0x80+(c>>6&0x3F)) + toHex(0x80+(c&0x3F)) ; } return es ; } } naver = window.naver || {}; naver.search = naver.search || {}; naver.search.abt_param = ""; var g_D = 0 ; naver.search.error = (function () { var errorList = Array() ; return { add : function (s) { errorList.push(s) ; }, clear : function () { delete errorList ; }, get : function (s) { return errorList ; }, getString : function (d) { if (typeof d === 'undefined') d = '|' ; return errorList.join(d) ; } } })(); naver.search.cookie = (function () { return { set : function (key, value, expire, domain) { var cookie = key + "=" + escape(value); if (typeof expire !== 'undefined') { if (expire instanceof Date) { cookie = cookie + "; expires=" + expire.toUTCString(); } else { var exdate = new Date((new Date()).getTime() + expire*1000); cookie = cookie + "; expires=" + exdate.toUTCString(); } } cookie = cookie + "; path=/"; if (domain != null) { cookie = cookie + "; domain=" + domain; } document.cookie = cookie; }, get : function (key) { var cookie_list = document.cookie.split(/\s*;\s*/); for (var i = 0; i < cookie_list.length; i++) { var tmp_list = cookie_list[i].split("="); var c_key = tmp_list[0].trim(); var c_value = tmp_list[1]; if (key == c_key) { return unescape(c_value); } } return null; } } })(); naver.search.https = window.location.protocol == "https:"; naver.search.meta_referrer = 0; var _nx_js_load = (function () { var scrs = {} ; return function (script, callback) { scrs[script] = {} ; scrs[script].domscript = document.createElement('script'); scrs[script].domscript.src = script ; if (callback) scrs[script].callback = (callback instanceof Array) ? callback : [callback]; scrs[script].domscript.onloadDone = false; scrs[script].domscript.onload = function() { scrs[script].domscript.onloadDone = true; if (scrs[script].callback) { for (var i = 0; i < scrs[script].callback.length; i++) { scrs[script].callback[i]() ; } } scrs[script].domscript.onload = scrs[script].domscript.onreadystatechange = null; } ; scrs[script].domscript.onreadystatechange = function() { if ( ("loaded" === scrs[script].domscript.readyState || "complete" === scrs[script].domscript.readyState) && !scrs[script].domscript.onloadDone ) { scrs[script].domscript.onload(); } } ; document.getElementsByTagName('head')[0].appendChild(scrs[script].domscript); }; })() ; var nx_js_defer_load = (function() { var info = {} ; return function(scrname, callback, t) { var nx_load_once = (function() { return function(scrname) { if (info[scrname].t > 0) setTimeout(function() { _nx_js_load(scrname, info[scrname].callback) ; }, t) ; else _nx_js_load(scrname, info[scrname].callback) ; } ; })(); if (t < 0) t = 0 ; if (info[scrname]) { n = info[scrname].length; for (var i = 0; i < n; i++) { if (info[scrname][i] == callback) return ; } if (t < info[scrname].t) info[scrname].t = t ; } else { info[scrname] = {} ; info[scrname].callback = [] ; info[scrname].t = t ; jindo.$Fn(function() { nx_load_once(scrname) ; }).attach(window, "load") ; } info[scrname].callback.push(callback) ; }; })(); function nx_js_lazyload(scripts, onload, is_serial) { if (!(scripts instanceof Array)) { scripts = [scripts]; } if (is_serial) { function load_next() { if (scripts.length == 0) { onload(); return; } _nx_js_load( scripts.shift(), load_next ) ; } load_next(); } else { var load_check = function() { var num_js = scripts.length; return function() { num_js--; if (num_js <= 0) { onload(); } } }(); for (var i = 0; i < scripts.length; i++) { _nx_js_load( scripts[i], load_check ) ; } } } function nx_defer_eval (id) { var codeElement = document.getElementById(id), code = codeElement.innerHTML; eval(code.replace(/\/\*/, '').replace(/\*\//, '')); } </script><script> try { document.execCommand('BackgroundImageCache', false, true); } catch(e) {} if (top.frames.length!=0 || window!=top) window.open(location, "_top") ; naver = window.naver || {}; naver.search = naver.search || {}; naver.search.ext = naver.search.ext || {}; naver.search.map_api = { v2 : "https://ssl.pstatic.net/sstatic.map/openapi/openapi_v23.js", v3 : "https://ssl.pstatic.net/sstatic.map/openapi/maps3.js" } ; var nx_au_cookie_domain = "search.naver.com" ; var nx_mobile_agent = 0 ; var headerfooter_query = "" ; var headerfooter_query_encoded = "" ; var headerfooter_time_year = 2022 ; var headerfooter_time_month = 11 ; var headerfooter_time_day = 18 ; var headerfooter_time_hour = 18 ; var headerfooter_time_minute = 3 ; var headerfooter_time_second = 48 ; var headerfooter_time_wday = 5 ; var headerfooter_time_year_s = "2022" ; var headerfooter_time_month_s = "11" ; var headerfooter_time_day_s = "18" ; var headerfooter_time_hour_s = "18" ; var headerfooter_time_minute_s = "03" ; var headerfooter_time_second_s = "48" ; var headerfooter_time_wday_s = "5" ; var g_ssc = "tab.nx.all" ; var g_query = "" ; var g_puid = "h3O6OsprvmsssAW6PEhssssstgo-152284" ; var g_suid = "l+5X0q/q0xvfl5dbyeAKNA==" ; var g_tab = "nexearch" ; var g_stab = "nexearch" ; var g_crt = naver.search.abt_param; var g_nx_splugin ; document.documentElement.setAttribute('data-useragent', window.navigator.userAgent.toLowerCase()) ; document.documentElement.setAttribute('data-platform', window.navigator.platform.toLowerCase()) ; var g_er_image, g_er_count = 0 ; function g_er (msg) { if (g_er_count++ > 0) return ; g_er_image = new Image() ; g_er_image.src = "http://er.search.naver.com/er?f="+g_tab+"&w="+g_stab+"&q=&u="+encodeURIComponent(document.location)+"&m="+encodeURIComponent(msg) ; } function trim_space (q) { var head_re = /^ */; var tail_re = / *$/; q = q.replace(head_re, ""); q = q.replace(tail_re, ""); return q; } function trim_crlf (q) { var crlf = /[\r|\n]/ ; q = q.replace(crlf, "") ; return q ; } function include_script (type, defer, src, charset) { var script = document.createElement("script") ; script.type = type, script.defer = defer ; script.src = src ; if (charset) script.charset = charset ; else script.charset = 'utf-8' ; document.getElementsByTagName('head')[0].appendChild(script) ; return script ; } function include_style (src, charset) { var h = document.getElementsByTagName("head")[0] ; var l = document.createElement('link') ; l.type = 'text/css' ; l.rel = 'stylesheet' ; if (charset) l.charset = charset ; else l.charset = 'utf-8' ; l.media = 'screen' ; l.href = src ; h.appendChild(l) ; } function bt (id, after) { document.getElementById(id).src = after ; } function urlencode (q) { return encodeURIComponent(q).replace(/%20/g, "+").replace(/[!~'()]/g, function(c) { return '%' + c.charCodeAt(0).toString(16).toUpperCase() ; }); } function urldecode (q) { return decodeURIComponent(q.replace(/\+/g, " ")); } function urlexpand (url) { var href = document.location.href ; if (url == "") return href ; if (url.match(/^[-.A-Za-z]+:/)) return url ; if (url.charAt(0) == '#') return href.split("#")[0] + url ; if (url.charAt(0) == '?') return href.split("?")[0] + url ; if (url.charAt(0) == '/') return href.replace(/([^:\/])\/.*$/, "$1") + url ; return href.substring(0, href.lastIndexOf("/")+1) + url ; } function tt_sub_disable (o) { if (typeof(o.tt_sub) == "undefined") return false ; if ((typeof(o.tt_sub) == "object") && (o.tt_sub.length)) { var i ; for (var i=0; i<o.tt_sub.length; i++) o.tt_sub[i].disabled = true ; } else o.tt_sub.disabled = true ; return true ; } function cpip () { var evt, sx = sy = px = py = -1 ; try { evt = window.event ; } catch (e) {} try { sx=evt.clientX-document.body.clientLeft, sy=evt.clientY-document.body.clientTop ; } catch (e) {} try { px=document.body.scrollLeft+(sx<0?0:sx), py=document.documentElement.scrollTop+(sy<0?0:sy) ; } catch (e) {} try { if (evt.pageX) px=evt.pageX ; if (evt.pageY) py=evt.pageY ; } catch (e) {} return "px="+px+"&py="+py+"&sx="+sx+"&sy="+sy ; } function nxGetCommonCRParam () { return "p="+urlencode(g_puid)+"&q="+urlencode(g_query)+"&ie=utf8&rev=1&ssc="+urlencode(g_ssc)+"&f="+urlencode(g_tab)+"&w="+urlencode(g_stab)+"&s="+urlencode(g_suid)+"&time="+urlencode((new Date()).getTime())+g_crt ; } function getCRRankingByParam (p, info) { if (typeof info == 'undefined' || info == null) return 0 ; var cr = 0 ; try { var y, z ; var y = p.split('&') ; for (var i = 0; i < y.length; i++) { if (z = y[i].split('=')) { if (z[0] == 'a') { for (var j = 0; j < info.length; j++) { var a = info[j].area.split(/[*.]/)[0]; if (z[1].substr(0, a.length) == a) { cr = j + 1 ; break ; } } break ; } } } } catch (e) { } return cr ; } function getCRRanking (p) { var cr = 0 ; if (typeof naver.search.section == 'undefined') return cr ; if (typeof naver.search.section.main != 'undefined') cr = getCRRankingByParam(p, naver.search.section.main) ; if (cr) return cr ; if (typeof naver.search.section.main2 != 'undefined') cr = getCRRankingByParam(p, naver.search.section.main2) ; return cr ; } function isOutlink (u) { if (!u || u.indexOf("://") < 0) return false; var b = (u.search(/^\w*:\/\/([^:/?]*\.|)*(?!(ad)?cr\.)[^.:/?]+\.+naver\.com(:\d*)?(\/|$)/) < 0); return b; } function nxGetCRURL (m, a, b, c, d, e) { var p = "" ; var u ; if (c==undefined && d==undefined && e==undefined) { p = (a==undefined?"":"&"+a) + (b==undefined || a.indexOf("u=")==0 || a.indexOf("&u=") > 0 ?"":"&u="+urlencode(b)) ; u = b ; } else { p = (a==undefined ? "" : "&a="+urlencode(a)) + (b==undefined ? "" : "&r="+urlencode(b)) + (c==undefined ? "" : "&i="+urlencode(c)) + (d==undefined ? "" : "&u="+urlencode(d)) + (e==undefined ? "" : "&"+e) ; u = d ; } if (! p) return null ; if (0 && u && u.indexOf("/search.naver?") >= 0) { var str = "" ; p = p.replace(/((?:(?:^|&)u=)[^&]*%2Fsearch.naver%3F(?:[^%&]|%[^2]|%2[^3])*)/, '$1' + str); } var url ; if (naver.search.https) { url = (naver.search.meta_referrer ? "/p/crd" : "/p/cr") + "/rd"; if (m != 0) m = 1; } else { out = isOutlink(u); url = "http://cr.naver.com" + (g_D && out ? "/nr" : "/rd"); if (m != 0) m = g_D && out ? 2 : 1; } url += "?m=" + m + "&" + cpip() + "&" + nxGetCommonCRParam() + p; return url; } function tCR (a, b, c, d, e) { var l = nxGetCRURL(0, a, b, c, d, e) ; var cr = getCRRanking(l) ; if (cr > 0) l = l + "&cr=" + cr ; if (document.images) (new Image()).src = l ; else document.location = l ; return false ; } function gCR (u, a, r, i, e, t) { if (u) u = urlexpand(u) ; var l = nxGetCRURL(1, a, r, i, u, e) ; var o = document.createElement("a") ; var cr = getCRRanking(l) ; if (cr > 0) l = l + "&cr=" + cr ; if (o.click) { o.href = l ; o.style.display = "none" ; document.body.appendChild(o) ; o.click() ; } else document.location = l ; } function goCR (o, p, t) { var p0 = o.getAttribute && o.getAttribute("crp"), u = o.href, u0 = u ; if (p0 && u.indexOf(p0)>0 && u.match(/\/(rd|nr)\?/)) { u = u0 = o.getAttribute && o.getAttribute("cru") || u ; p = p0 ; } p0 = p ; tt_sub_disable(o) ; if (p.indexOf("u=javascript") >= 0) t = true ; /* no frame/iframe but new window */ var n = (o.ownerDocument==document && o.target && o.target!="_self" && o.target!="_parent" && o.target!="_top") && !(window.location.protocol&&window.location.protocol.indexOf("https:")==0) ; var cr = getCRRanking(p) ; if (cr > 0) p = p + "&cr=" + cr ; u = nxGetCRURL(t?0:(n?-1:1), p, u) ; if (u && !u.match(/m=0&/)) { if (o.setAttribute) { if (p0) o.setAttribute("crp", p0) ; if (u0) o.setAttribute("cru", u0) ; if (g_D && naver.search.https && naver.search.meta_referrer && o.href && isOutlink(o.href)) o.setAttribute("rel", "noreferrer"); } var a = o.innerHTML ; o.href = u ; if (o.innerHTML != a) o.innerHTML = a ; } else if (document.images) (new Image()).src = u ; return true ; } function goOtherCR (o, p) { return goCR(o, p, false) ; } function goOtherTCR (o, p) { return goCR(o, p, true) ; } function get_form_url (o) { var url = o.getAttribute("action") ; if (url == null) url = "" ; var e, n = 0 ; for (var i=0; i<o.elements.length; i++) { e = o.elements[i] ; if (e.disabled || !e.name) continue ; url += (n++>0?"&":url.indexOf("?")<0?"?":url.indexOf("?")<url.length-1?"&":"") + encodeURIComponent(e.name) + "=" + encodeURIComponent(e.value) ; } return url ; } function formCR (o, area, rank, id) { if (typeof o == 'string') o = document.getElementById(o) ; var target = o.getAttribute("target") ; if (target && target!="_self" && target!="_parent" && target!="_top" || /^post$/i.test(o.getAttribute("method"))) { tCR(area, rank, id) ; o.submit() ; return false ; } var url = get_form_url(o) ; var a = document.createElement("a") ; a.href = url ; var p = area != undefined ? "a=" + area : "" ; if (rank != undefined) p += (p?"&":"") + "r=" + encodeURIComponent(rank) ; if (id != undefined) p += (p?"&":"") + "i=" + encodeURIComponent(id) ; if (url != undefined) p += (p?"&":"") + "u=" + encodeURIComponent(urlexpand(url)) ; goCR(a, p) ; if (navigator.userAgent.indexOf('MSIE') > 0) { a.style.display = 'none' ; o.appendChild(a) ; a.click() ; } else document.location = a.href ; return false ; } function rank_val (rank, name, sign, number, ad_onair) { this.rank = rank ; this.name = name ; this.sign = sign ; this.number = number ; this.ad_onair = ad_onair ; } function rr_hotquery_val (titleImg, totalLink, ad_onair) { this.titleImg = titleImg ; this.totalLink = totalLink ; this.ad_onair = ad_onair ; } function rr_append () { for (var i=0; i<rr_list.length; i++) if (rr_list[i].qname==hotqry_Name && rr_list[i].dir==hotqry_Dir) return 0 ; var o = { order:hotqry_Order, contid:hotqry_ContID, qname:hotqry_Name, dir:hotqry_Dir, toprank:hotqry_TopRank, rankdown:hotqry_RankDown, clicklog:hotqry_ClickLog, toprank_idx:toprank_idx, lowrank_idx:lowrank_idx, topranklist:toprank, lowranklist:lowrank_idx>=0?lowrank:null } ; rr_list = rr_list.concat(o) ; return 1 ; } var msg_hidden_idle=null; function msg (id) { if(msg_hidden_idle) clearInterval(msg_hidden_idle); if(id) { var mid=document.getElementById(id); mid.style.display=''; mid.style.visibility='visible'; } } function msg_hidden (id, f) { if(f) hidden(id); else msg_hidden_idle=setInterval("hidden('"+id+"')",100); } function hidden (id) { var mid=document.getElementById(id); mid.style.display='none'; mid.style.visibility='hidden'; } function nx_check_basic () { return ; } function nx_set_cookie (name, value, expire, domain) { var cookie = name + "=" + escape(value); if (expire != null) { if (expire instanceof Date) { cookie = cookie + "; expires=" + expire.toUTCString(); } else { var exdate = new Date((new Date()).getTime() + expire*1000); cookie = cookie + "; expires=" + exdate.toUTCString(); } } cookie = cookie + "; path=/"; if (domain != null) { cookie = cookie + "; domain=" + domain; } document.cookie = cookie; } function nx_get_cookie (name) { var cookie_list = document.cookie.split(/\s*;\s*/); for (var i = 0; i < cookie_list.length; i++) { var tmp_list = cookie_list[i].split("="); var c_name = trim_space(tmp_list[0]); var c_value = tmp_list[1]; if (name == c_name) { return unescape(c_value); } } return null; } var nx_default_charset = document.charset ; function nx_form_emul_charset (form) { if (/msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent)) { document.charset = form.acceptCharset ; window.onbeforeunload = function () { document.charset = nx_default_charset ; } ; } return true; } (function() { function ignore(e) { var tagName = e.target.tagName.toUpperCase(); var ignoreTargets = ["INPUT", "SELECT", "TEXTAREA", "EMBED", "OBJECT"]; var isKeyV = e.key.toLowerCase() === "v"; if (ignoreTargets.indexOf(tagName) !== -1 || isContentEditable(e)) return true; else if (e.altKey) return true; else if (e.ctrlKey && !isKeyV) return true; else if (e.metaKey && !isKeyV) return true; else if (isSpaceKey(e)) return true; return false; } function isContentEditable(e) { return e.target.contentEditable === 'true'; } function stop(e) { e.preventDefault(); e.stopPropagation(); } function focus(reset) { var query = document.getElementById("nx_query"); scrollTo(0, 0); if (reset) query.value = ""; query.focus(); query.select(); } function isSpaceKey(e) { return e.code === "Space" || e.key === "Spacebar" || e.key === " "; } function isShiftKeyAndSpaceKey(e) { return e.shiftKey && isSpaceKey(e); } function isF2Key(e) { return e.key === "F2"; } function isInsertKey(e) { return e.key === "Insert" || e.code === "Insert"; } function isSingleCharKey(e) { return e.key.length === 1; } document.addEventListener("keydown", function onKeydown(e) { try { if (ignore(e)) return; if (isShiftKeyAndSpaceKey(e) || isF2Key(e) || isInsertKey(e)) { stop(e); focus(); } else if (isSingleCharKey(e)) { focus(true); } } catch (err) {} }); })(); (function(exportTarget) { var lcs_options = { nnb: true }; var lcs_version = "v0.8.3"; var lcs_add = {}; var lcs_bc = {}; var lcs_perf = {}; var lcs_do_count = 0; var lcs_do_retry_count = 0; var lcs_waiting_pageshow = false; function lcs_do(optional_etc) { var etc = optional_etc || {}; if (lcs_waiting_pageshow) { return; } var retry = function(__etc) { return function() { window.setTimeout(function() { lcs_waiting_pageshow = false; lcs_do(__etc); }, 10); } }(etc); if (document.readyState !== "complete") { var eventName = "onpageshow" in window ? "pageshow" : "load"; if (document.addEventListener) { window.addEventListener(eventName, retry, false); } else { window.attachEvent("on"+ eventName, retry); } lcs_do_retry_count++; lcs_waiting_pageshow = true; return; } if (!window.lcs_SerName) { window.lcs_SerName = "lcs.naver.com"; } var rs = ""; var index; var itarVal; var doc = document; var wlt = window.location; var lcsServerAddr; try { lcsServerAddr = "https://" + window.lcs_SerName + "/m?"; } catch (e) { return; } try { rs = lcsServerAddr + "u=" + encodeURIComponent(wlt.href) + "&e=" + (doc.referrer ? encodeURIComponent(doc.referrer) : ""); } catch (e) {} try { if (typeof lcs_add.i == "undefined") lcs_add.i = ""; if (lcs_do_count < 1) { lcs_setBrowserCapa(); if (lcs_options.nnb) { lcs_setNNB(); } lcs_setConnectionType(); lcs_setNavigationTiming(); var loadEventStart = lcs_perf["loadEventStart"] || 0; var loadEventEnd = lcs_perf["loadEventEnd"] || 0; if (loadEventEnd < loadEventStart && lcs_do_retry_count < 3) { lcs_do_retry_count++; lcs_waiting_pageshow = true; retry(); return; } lcs_setPaintTiming(); lcs_setNavigationType(); } for (index in lcs_bc) { if (typeof lcs_bc[index] !== "function") rs += "&" + index + "=" + encodeURIComponent(lcs_bc[index]); } for (index in lcs_add) { itarVal = lcs_add[index]; if (itarVal !== undefined && typeof itarVal !== "function") { rs += "&" + index + "=" + encodeURIComponent(itarVal); } } if (lcs_do_count < 1) { for (index in lcs_perf) { itarVal = lcs_perf[index]; if (itarVal) { rs += "&" + index + "=" + encodeURIComponent(itarVal); } } } var dni = !!etc.dni ? etc.dni : getCookie("NAPP_DI"); if (!!dni) { etc.dni = dni; } else { delete etc.dni; } for (index in etc) { if ( (index.length >= 3 && typeof etc[index] !== "function") || index === "qy" ) { rs += "&" + index + "=" + encodeURIComponent(etc[index]); } } if (!!etc === false || !!etc.pid === false) { var pidFallback; if (window.g_pid) { pidFallback = g_pid; } else { pidFallback = lcs_get_lpid(); } rs += "&pid=" + encodeURIComponent(pidFallback); } var timeStr = new Date().getTime(); rs += "&ts=" + timeStr; rs += "&EOU"; var obj = document.createElement("img"); obj.src = rs; obj.onload = function() { obj.onload = null; return; }; lcs_do_count++; } catch (e) { return; } } function getCookie(name) { var value = document.cookie.match('(^|;) ?' + name + '=([^;]*)(;|$)'); return value? value[2] : ""; } function lcs_do_gdid(gdid, etc) { try { if (gdid) { lcs_add["i"] = gdid; if (etc) { lcs_do(etc); } else { lcs_do(); } } } catch (e) {} } function getLocalStorage() { var localStorage = null; try { localStorage = window.localStorage; } catch (e) {} try { if (!localStorage) localStorage = window.sessionStorage; } catch (e) {} return localStorage || null; } function lcs_setNNB() { try { var lsg = getLocalStorage(); if (lsg) { if (lsg.ls) { var lc = lsg.ls; if (lc.length == 13) { lcs_add["ls"] = lc; return; } } var nnb = lcs_getNNBfromCookie(); if (nnb != null && nnb != "") { lsg.ls = nnb; lcs_add["ls"] = nnb; } } } catch (e) {} } function lcs_setBrowserCapa() { lcs_bc["os"] = lcs_getOS(); lcs_bc["ln"] = lcs_getlanguage(); lcs_bc["sr"] = lcs_getScreen(); lcs_bc["pr"] = window.devicePixelRatio || 1; var windowSize = lcs_getWindowSize(); lcs_bc["bw"] = windowSize["bw"]; lcs_bc["bh"] = windowSize["bh"]; lcs_bc["c"] = lcs_getColorDepth(); lcs_bc["j"] = lcs_getJavaEnabled(); lcs_bc["k"] = lcs_getCookieEnabled(); } function lcs_getOS() { var lcs_os = ""; try { navigator.platform ? (lcs_os = navigator.platform) : ""; } catch (e) {} return lcs_os; } function lcs_getlanguage() { var lcs_ln = ""; try { navigator.userLanguage ? (lcs_ln = navigator.userLanguage) : navigator.language ? (lcs_ln = navigator.language) : ""; } catch (e) {} return lcs_ln; } function lcs_getScreen() { var lcs_sr = ""; try { if (window.screen && screen.width && screen.height) { lcs_sr = screen.width + "x" + screen.height; } else if (window.java || self.java) { var sr = java.awt.Toolkit.getDefaultToolkit().getScreenSize(); lcs_sr = sr.width + "x" + sr.height; } } catch (e) { lcs_sr = ""; } return lcs_sr; } function lcs_getWindowSize() { var doc = document; var size = { bw: "", bh: "" }; try { size["bw"] = doc.documentElement.clientWidth ? doc.documentElement.clientWidth : doc.body.clientWidth; size["bh"] = doc.documentElement.clientHeight ? doc.documentElement.clientHeight : doc.body.clientHeight; } catch (e) {} return size; } function lcs_getColorDepth() { var colorDepth = ""; try { if (window.screen) { colorDepth = screen.colorDepth ? screen.colorDepth : screen.pixelDepth; } else if (window.java || self.java) { var c = java.awt.Toolkit.getDefaultToolkit() .getColorModel() .getPixelSize(); colorDepth = c; } } catch (e) { colorDepth = ""; } return colorDepth; } function lcs_getJavaEnabled() { var jsEnable = ""; try { jsEnable = navigator.javaEnabled() ? "Y" : "N"; } catch (e) {} return jsEnable; } function lcs_getCookieEnabled() { var cookieEnable = ""; try { cookieEnable = navigator.cookieEnabled ? "Y" : "N"; } catch (e) {} return cookieEnable; } function lcs_getNNBfromCookie() { try { var ck = document.cookie; var k, v, i, ArrCookies = ck.split(";"); for (i = 0; i < ArrCookies.length; i++) { k = ArrCookies[i].substr(0, ArrCookies[i].indexOf("=")); v = ArrCookies[i].substr(ArrCookies[i].indexOf("=") + 1); k = k.replace(/^\s+|\s+$/g, ""); if (k == "NNB") { return unescape(v); } } } catch (e) {} } function lcs_setConnectionType() { var connection = navigator.connection; if (connection) { if (connection.type && connection.type.length > 1) { lcs_add["ct"] = connection.type; } if (connection.effectiveType) { lcs_add["ect"] = connection.effectiveType; } } } function lcs_setNavigationTiming() { var performance = window.performance || {}; if (performance.timing) { var pt = performance.timing; for (var key in pt) { var value = pt[key]; if (typeof value === "number") { lcs_perf[key] = value; } } } } function lcs_setPaintTiming() { var performance = window.performance || {}; try { if (performance.getEntriesByType) { var performanceEntries = performance.getEntriesByType("paint"); performanceEntries.forEach(function(performanceEntry, i, entries) { var name = performanceEntry.name; switch (name) { case "first-paint": case "first-contentful-paint": lcs_perf[name] = performanceEntry.startTime; break; default: break; } }); } else { } } catch (e) { console.warn(e); } } function lcs_setNavigationType() { var ngt = getNavigationType(); if (ngt !== undefined) { lcs_perf["ngt"] = ngt; } } function getNavigationType() { var performance = window.performance || {}; if (performance.navigation) { return performance.navigation.type; } return; } var lpid = null; function lcs_create_lpid() { var uaID; var lsg = getLocalStorage(); var nnb = lsg ? lsg.ls : null; if (nnb) { uaID = nnb; } else { var nnbFallback; nnbFallback = navigator.userAgent + Math.random(); uaID = nnbFallback; } var performance = window.performance || {}; var pageURL = location.href; var currentTime; if (performance.now) { currentTime = performance.now(); } else { currentTime = new Date().getTime(); } lpid = hashFunction.md5(uaID + pageURL + currentTime); return lpid; } function lcs_get_lpid() { if (lpid === null) { lpid = lcs_create_lpid(); } return lpid; } function lcs_update_lpid() { lpid = lcs_create_lpid(); return lpid; } var hashFunction = {}; (function(exportTarget) { function safeAdd(x, y) { var lsw = (x & 0xffff) + (y & 0xffff); var msw = (x >> 16) + (y >> 16) + (lsw >> 16); return (msw << 16) | (lsw & 0xffff); } function bitRotateLeft(num, cnt) { return (num << cnt) | (num >>> (32 - cnt)); } function md5cmn(q, a, b, x, s, t) { return safeAdd( bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b ); } function md5ff(a, b, c, d, x, s, t) { return md5cmn((b & c) | (~b & d), a, b, x, s, t); } function md5gg(a, b, c, d, x, s, t) { return md5cmn((b & d) | (c & ~d), a, b, x, s, t); } function md5hh(a, b, c, d, x, s, t) { return md5cmn(b ^ c ^ d, a, b, x, s, t); } function md5ii(a, b, c, d, x, s, t) { return md5cmn(c ^ (b | ~d), a, b, x, s, t); } function binlMD5(x, len) { x[len >> 5] |= 0x80 << len % 32; x[(((len + 64) >>> 9) << 4) + 14] = len; var i; var olda; var oldb; var oldc; var oldd; var a = 1732584193; var b = -271733879; var c = -1732584194; var d = 271733878; for (i = 0; i < x.length; i += 16) { olda = a; oldb = b; oldc = c; oldd = d; a = md5ff(a, b, c, d, x[i], 7, -680876936); d = md5ff(d, a, b, c, x[i + 1], 12, -389564586); c = md5ff(c, d, a, b, x[i + 2], 17, 606105819); b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330); a = md5ff(a, b, c, d, x[i + 4], 7, -176418897); d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426); c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341); b = md5ff(b, c, d, a, x[i + 7], 22, -45705983); a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416); d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417); c = md5ff(c, d, a, b, x[i + 10], 17, -42063); b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162); a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682); d = md5ff(d, a, b, c, x[i + 13], 12, -40341101); c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290); b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329); a = md5gg(a, b, c, d, x[i + 1], 5, -165796510); d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632); c = md5gg(c, d, a, b, x[i + 11], 14, 643717713); b = md5gg(b, c, d, a, x[i], 20, -373897302); a = md5gg(a, b, c, d, x[i + 5], 5, -701558691); d = md5gg(d, a, b, c, x[i + 10], 9, 38016083); c = md5gg(c, d, a, b, x[i + 15], 14, -660478335); b = md5gg(b, c, d, a, x[i + 4], 20, -405537848); a = md5gg(a, b, c, d, x[i + 9], 5, 568446438); d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690); c = md5gg(c, d, a, b, x[i + 3], 14, -187363961); b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501); a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467); d = md5gg(d, a, b, c, x[i + 2], 9, -51403784); c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473); b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734); a = md5hh(a, b, c, d, x[i + 5], 4, -378558); d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463); c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562); b = md5hh(b, c, d, a, x[i + 14], 23, -35309556); a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060); d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353); c = md5hh(c, d, a, b, x[i + 7], 16, -155497632); b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640); a = md5hh(a, b, c, d, x[i + 13], 4, 681279174); d = md5hh(d, a, b, c, x[i], 11, -358537222); c = md5hh(c, d, a, b, x[i + 3], 16, -722521979); b = md5hh(b, c, d, a, x[i + 6], 23, 76029189); a = md5hh(a, b, c, d, x[i + 9], 4, -640364487); d = md5hh(d, a, b, c, x[i + 12], 11, -421815835); c = md5hh(c, d, a, b, x[i + 15], 16, 530742520); b = md5hh(b, c, d, a, x[i + 2], 23, -995338651); a = md5ii(a, b, c, d, x[i], 6, -198630844); d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415); c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905); b = md5ii(b, c, d, a, x[i + 5], 21, -57434055); a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571); d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606); c = md5ii(c, d, a, b, x[i + 10], 15, -1051523); b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799); a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359); d = md5ii(d, a, b, c, x[i + 15], 10, -30611744); c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380); b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649); a = md5ii(a, b, c, d, x[i + 4], 6, -145523070); d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379); c = md5ii(c, d, a, b, x[i + 2], 15, 718787259); b = md5ii(b, c, d, a, x[i + 9], 21, -343485551); a = safeAdd(a, olda); b = safeAdd(b, oldb); c = safeAdd(c, oldc); d = safeAdd(d, oldd); } return [a, b, c, d]; } function binl2rstr(input) { var i; var output = ""; var length32 = input.length * 32; for (i = 0; i < length32; i += 8) { output += String.fromCharCode((input[i >> 5] >>> i % 32) & 0xff); } return output; } function rstr2binl(input) { var i; var output = []; output[(input.length >> 2) - 1] = undefined; for (i = 0; i < output.length; i += 1) { output[i] = 0; } var length8 = input.length * 8; for (i = 0; i < length8; i += 8) { output[i >> 5] |= (input.charCodeAt(i / 8) & 0xff) << i % 32; } return output; } function rstrMD5(s) { return binl2rstr(binlMD5(rstr2binl(s), s.length * 8)); } function rstrHMACMD5(key, data) { var i; var bkey = rstr2binl(key); var ipad = []; var opad = []; var hash; ipad[15] = opad[15] = undefined; if (bkey.length > 16) { bkey = binlMD5(bkey, key.length * 8); } for (i = 0; i < 16; i += 1) { ipad[i] = bkey[i] ^ 0x36363636; opad[i] = bkey[i] ^ 0x5c5c5c5c; } hash = binlMD5(ipad.concat(rstr2binl(data)), 512 + data.length * 8); return binl2rstr(binlMD5(opad.concat(hash), 512 + 128)); } function rstr2hex(input) { var hexTab = "0123456789abcdef"; var output = ""; var x; var i; for (i = 0; i < input.length; i += 1) { x = input.charCodeAt(i); output += hexTab.charAt((x >>> 4) & 0x0f) + hexTab.charAt(x & 0x0f); } return output; } function str2rstrUTF8(input) { return unescape(encodeURIComponent(input)); } function rawMD5(s) { return rstrMD5(str2rstrUTF8(s)); } function hexMD5(s) { return rstr2hex(rawMD5(s)); } function rawHMACMD5(k, d) { return rstrHMACMD5(str2rstrUTF8(k), str2rstrUTF8(d)); } function hexHMACMD5(k, d) { return rstr2hex(rawHMACMD5(k, d)); } function md5(string, key, raw) { if (!key) { if (!raw) { return hexMD5(string); } return rawMD5(string); } if (!raw) { return hexHMACMD5(key, string); } return rawHMACMD5(key, string); } exportTarget.md5 = md5; })(hashFunction); exportTarget.lcs_do = lcs_do; exportTarget.lcs_do_gdid = lcs_do_gdid; exportTarget.lcs_get_lpid = lcs_get_lpid; exportTarget.lcs_update_lpid = lcs_update_lpid; exportTarget.lcs_version = lcs_version; })(window); if (window.addEventListener) window.addEventListener("load", function() { lcs_do({"pid": "h3O6OsprvmsssAW6PEhssssstgo-152284", "ssc":"tab.nx.all"}) }, false) ; else lcs_do({"pid": "h3O6OsprvmsssAW6PEhssssstgo-152284", "ssc":"tab.nx.all"}) ; </script> <script type="text/javascript" src="https://ssl.pstatic.net/sstatic/sdyn.js?f=/au/pc/_nx/jindo_1.5.3_171116.js+/search/js/nhn.Component.js+/search/js/jindo.Component.1.1.0.js+/search/js/jindo.component.library_120927.js+/au/s/pc/_common/jindo/jindo.Rolling_140526.js+/fe/sfe/_common/pc/nhn.common_211014_a.js+/fe/sfe/nx_jquery/pc/nx_jquery_221027.js+/fe/meerkat/logger/sfe/naver.common.meerkat.logger.sfePc_221027.js+/fe/sfe/naver_autocomplete/pc/naver.common.atcmp.naver_web_221027.js+/fe/sfe/web-vitals/web-vitals_221014.js+/fe/sfe/scrollLog/Controller_220714.js&o=search" crossorigin="anonymous"></script> <script> 0 && naver.common.meerkat.logger.observe(); function nx_add_event_handler (event, func) { $Fn(func).attach(document, event) ; } </script><script type="text/javascript"> function nx_form_submit (f) { if (g_D || 0) f.action = "" ; if (typeof naver.search.option !== 'undefined') naver.search.option.append_params(f, ['qdt', 'qvt']); return true ; } </script><script type="text/javascript"> var g_site = "" ; function document_write (s) { document.write(s) ; } nhn.jsLazyLoad = { include: function(a, b, c) { nx_js_lazyload(a, b, 0) ; } } ; nx_js_defer_load("https://ssl.pstatic.net/sstatic/au/s/pc/_others/nxtt/search_om.js", function() {NXTT.div=document.getElementById("nxtt_div");}, 50); </script></head> <body class='wrap-new api_animation'> <div id=nxtt_div style="display:none;position:absolute;border-width:0;z-index:11000"></div> <div id="u_skip"> <a href="#lnb"><span>메뉴 영역으로 바로가기</span></a> <a href="#content"><span>본문 영역으로 바로가기</span></a> </div> <div id="wrap"> <div id="header_wrap" role="heading"> <div class="api_floating_header"> <div class="gnb_wrap"> <div class="header_group"> <div class="search_area"> <h1 class="logo"><a href="https://www.naver.com" onclick="return goOtherCR(this, 'a=sta.naver&r=&i=&u='+urlencode(this.href));" class="link"><i class="spnew ico_logo">NAVER</i></a></h1> <form id="nx_search_form" name="search" action="?" method="get" role="search" onsubmit="return nx_form_submit(this)"> <fieldset class="greenwindow"> <legend>검색</legend> <input type="hidden" name="sm" value="tab_hty.top"> <input type="hidden" name="where" value="nexearch"> <div class="greenbox"> <input type="text" id="nx_query" name="query" class="box_window" maxlength=255 accesskey="s" value="" autocomplete="off" placeholder="검색어를 입력해 주세요." data-atcmp-element> </div> <input type="hidden" name="oquery" value=""> <input type="hidden" name="tqi" value="h3O6OsprvmsssAW6PEhssssstgo-152284"> <input type="hidden" value="" name="acq" disabled> <input type="hidden" value="" name="acr" disabled> <input type="hidden" value="" name="qdt" disabled> <input type="hidden" value="" name="acir" disabled> <input type="hidden" value="" name="os" disabled> <input type="hidden" value="" name="bid" disabled> <input type="hidden" value="" name="pkid" disabled> <input type="hidden" value="" name="eid" disabled> <input type="hidden" value="" name="mra" disabled> <div class="setkr_area"> <a id="ke_kbd_btn" role="button" href="#" class="bt_setkr" aria-pressed="false" onclick="return tCR('a=sch.ime');"><i class="spnew ico_keyboard">한글 입력기</i></a> <div id="_nx_kbd" style="display:none;"></div> </div> <script> (function() { var startApplication = function() { var jsUrl = "https://ssl.pstatic.net/sstatic/au/pc/ime/ime_201105.js"; var ime; jQuery("#ke_kbd_btn").on("click", function(){ require([jsUrl], function(IMEKeyboard) { if (ime) { ime.toggle(); return; } ime = new IMEKeyboard({selector: { TOGGLE_BTN: "#ke_kbd_btn", CONTENTS_AREA: "#_nx_kbd", INPUT: "#nx_query" }}).toggle(); }, function () { alert("네트워크 상태가 안 좋아 한영입력기를 불러오지 못했습니다.\n잠시 후 다시 시도해 주세요."); }); }); }; naver.common.load_js(window.require ? null : naver.common.gv.REQUIRE_JS, startApplication, true, 150); })(); </script> <div class="autocomplete"> <a role="button" href="#" class="bt_atcp _btn_arw" id="nautocomplete" aria-pressed="false" data-atcmp-element><i class="spnew ico_arrow">자동완성 레이어</i></a> <div class="ly_atcmp" id="nx_autoframe_top" style="display:none" data-atcmp-element> <div class="api_atcmp_wrap"> <div class="atcmp_fixer _recent_layer" style="display:none;"> <div class="atcmp_header _recent_header"> <strong class="tit">최근검색어</strong> <div class="option"> <a role="button" href="#" class="item _delAll" aria-pressed="false">전체삭제</a> </div> </div> <div class="atcmp_container"> <ul class="kwd_lst _recent"> <li class="item _item" data-rank="@rank@" data-template-type="history" data-keyword="@in_txt@"> <a href="#" class="kwd"> <span class="fix"><span class="common_ico_kwd"><i class="imsc ico_search"></i></span><span>@txt@</span></span> </a> <span class="etc"> <em class="date">@date@.</em> <a href="#" role="button" class="bt_item _del" aria-pressed="false"><i class="imsc ico_del">삭제</i></a> </span> </li> </ul> <div class="kwd_info kwd_off _offMsg" style="display: none;">검색어 저장 기능이 꺼져 있습니다.<br><span class="kwd_dsc">설정이 초기화 된다면 <a onclick="return goOtherCR(this,'a=sly.help&r=&i=&u='+urlencode(this.href));" href="https://help.naver.com/support/alias/search/word/word_29.naver" target="_blank" class="kwd_help">도움말</a>을 확인해주세요.</span></div> <div class="kwd_info kwd_none _recentNone" style="display: none;">최근 검색어 내역이 없습니다.<br><span class="kwd_dsc">설정이 초기화 된다면 <a onclick="return goOtherCR(this,'a=sly.help&r=&i=&u='+urlencode(this.href));" href="https://help.naver.com/support/alias/search/word/word_29.naver" target="_blank" class="kwd_help">도움말</a>을 확인해주세요.</span></div> </div> <div class="atcmp_footer"> <span class="side_opt_area"> <span class="opt_item"><a onclick="return goOtherCR(this,'a=sly.help&r=&i=&u='+urlencode(this.href));" href="https://help.naver.com/support/alias/search/word/word_29.naver" target="_blank">도움말</a></span> </span> <span class="rside_opt_area"> <span class="opt_item"> <a href="#" class="close _keywordOnOff">자동저장 끄기</a> </span> </span> </div> </div> <div class="atcmp_fixer _atcmp_layer" style="display:none;"> <div class="atcmp_container _words"> <div class="atcmp_correct type_lotto _answer" data-template-type="answer_3" data-code="@code@" data-keyword="@1@"> <a href="#" class="link_item"> <span class="common_ico_kwd"><i class="imsc ico_search"></i></span> <div class="dsc_area"> <span class="tit">@5@회차 당첨번호</span> <span class="dsc"> <span class="item">추첨 @13@.</span><span class="item">지급기한 1년</span> </span> </div> <span class="etc_area"> <span class="etc lotto"> <em class="n@6@">@6@</em><em class="n@7@">@7@</em><em class="n@8@">@8@</em><em class="n@9@">@9@</em><em class="n@10@">@10@</em><em class="n@11@">@11@</em><em class="imsc_bf bonus n@12@">@12@</em> </span> </span> </a> </div> <div class="atcmp_correct type_exchange _answer" data-template-type="answer_9" data-code="@code@" data-keyword="@1@"> <a href="#" class="link_item @11@"> <span class="common_ico_kwd"><i class="imsc ico @12@">@14@</i></span> <div class="dsc_area"> <span class="tit">@txt@<span class="sub">@currency@</span></span> <span class="dsc"> <span class="item"><i class="imsc ico_arr"></i>@8@(@9@%)</span> </span> </div> <span class="etc_area"> <span class="etc"><em class="num">@6@</em>원</span> </span> </a> </div> <div class="atcmp_correct type_weather _answer" data-template-type="answer_11" data-code="@code@" data-keyword="@1@"> <a href="#" class="link_item @12@"> <span class="common_ico_kwd"><i class="imsc ico_search"></i></span> <div class="dsc_area"> <span class="tit">@txt@</span> <span class="dsc"> <span class="item">@7@, @message@</span> </span> </div> <span class="etc_area"> <span class="etc"> <span class="ico_weather"><i class="imsc ico ico@iconNo@">@7@</i></span> <em class="degree">@8@<sup class="celsius">°</sup></em> </span> </span> </a> </div> <div class="atcmp_correct type_site _answer" data-template-type="answer_17" data-code="@code@" data-keyword="@1@"> <a href="@5@" class="link_item" target="_blank"> <span class="common_ico_kwd"><i class="imsc ico_url"></i></span> <div class="dsc_area"> <span class="tit">@txt@</span> <span class="dsc"> <span class="item">@5@</span> </span> </div> <span class="etc_area"> <span class="etc">바로가기</span> </span> </a> </div> <ul class="kwd_lst _kwd_list"> <li class="item _item" data-rank="@rank@" data-template-type="suggestion" data-keyword="@in_txt@"> <a href="#" class="kwd"> <span class="fix"><span class="common_ico_kwd"><i class="imsc ico_search"></i></span>@txt@</span> </a> <span class="etc"> <a href="#" role="button" class="bt_item _add" aria-pressed="false"><i class="imsc ico_insert">추가</i></a> </span> </li> <li class="item has_correct _item" data-rank="@rank@" data-template-type="history" data-keyword="@in_txt@"> <a href="#" class="kwd"> <span class="fix"><span class="common_ico_kwd"><i class="imsc ico_search"></i></span>@txt@</span> </a> <span class="etc"> <em class="date">@date@.</em> <a href="#" role="button" class="bt_item _add" aria-pressed="false"><i class="imsc ico_insert">추가</i></a> </span> </li> </ul> <li class="item has_correct _item" data-rank="@rank@" data-intend-rank="@intendRank@" data-template-type="intend" data-keyword="@transQuery@"> <a href="#" class="kwd"> <span class="fix"><span class="common_ico_kwd"><i class="imsc ico_search"></i></span>@query@ <span class="context">@intend@</span></span> </a> <span class="etc"> <a href="#" role="button" class="bt_item _add" aria-pressed="false"><i class="imsc ico_insert">추가</i></a> </span> </li> <div class="atcmp_alert _alert"> <div class="dsc_election"> <p class="dsc"> <i class="imsc ico_election"></i><span class="_alert_passage"></span> </p> <span class="dsc_inner"> <span class="_alert_passage2"></span> <a href="#" target="_blank" class="link _alert_link" onclick="return goOtherCR(this,'a=sug.vote&r=&i=&u='+urlencode(this.href));">자세히보기</a> </span> </div> </div> <div class="atcmp_plus _plus"> <div class="dsc_plus"> <a onclick="return goOtherCR(this,'a=sug.cxhelp&r=&i=&u='+urlencode(this.href));" href="https://help.naver.com/support/alias/search/word/word_16.naver" target="_blank" class="link_dsc">관심사를 반영한 컨텍스트 자동완성<i class="imsc ico_help">도움말</i></a> </div> <div class="switch"> <a role="button" href="#" class="bt_switch active _plus_btn" aria-pressed="false"><i class="imsc ico_option">컨텍스트 자동완성</i></a> </div> <div class="layer_plus _plus_layer"> <strong class="tit">컨텍스트 자동완성</strong> <div class="_plus_layer_isloggedin" style="display:none"> <p class="dsc">ON/OFF 설정은<br>해당기기(브라우저)에 저장됩니다.</p> <div class="btn_area"> <a onclick="return goOtherCR(this,'a=sug.cxhelp&r=&i=&u='+urlencode(this.href));" href="https://help.naver.com/support/alias/search/word/word_16.naver" target="_blank" class="btn btn_view">자세히</a> </div> </div> <div class="_plus_layer_isnotloggedin" style="display:none"> <p class="dsc"><em class="txt">동일한 시간대/연령/남녀별</em> 사용자 그룹의<br>관심사에 맞춰 자동완성을 제공합니다.</p> <div class="btn_area"> <a href="https://nid.naver.com/nidlogin.login?url=https%3A%2F%2Fsearch.naver.com%2Fsearch.naver%3Fwhere%3Dnexearch" onclick="return goOtherCR(this,'a=sug.cxlogin&r=&i=&u='+urlencode(this.href));" class="btn btn_login">로그인</a> <a onclick="return goOtherCR(this,'a=sug.cxhelp&r=&i=&u='+urlencode(this.href));" href="https://help.naver.com/support/alias/search/word/word_16.naver" target="_blank" class="btn btn_view">자세히</a> </div> </div> <a href="#" role="button" onclick="return tCR('a=sug.cxhide');" class="btn_close _plus_layer_close"><i class="imsc ico_close">컨텍스트 자동완성 레이어 닫기</i></a> </div> </div> </div> <div class="atcmp_footer"> <span class="side_opt_area"> <span class="opt_item"><a onclick="return goOtherCR(this,'a=sug.help&r=&i=&u='+urlencode(this.href));" href="https://help.naver.com/alias/search/word/word_17.naver" target="_blank">도움말</a></span> <span class="opt_item"><a onclick="return goOtherCR(this,'a=sug.report&r=&i=&u='+urlencode(this.href));" href="https://help.naver.com/support/alias/search/word/word_18.naver" target="_blank" class="report">신고</a></span> </span> <span class="rside_opt_area"> <span class="opt_item"> <a href="#" class="close _suggestOnOff">자동완성 끄기</a> </span> </span> </div> </div> </div> </div> </div> <button type="submit" class="bt_search"><i class="spnew ico_search">검색</i></button> </fieldset> </form> </div></div> <div id="gnb"> <script type="text/javascript"> var gnb_option = { gnb_service : "search", gnb_template : "gnb_utf8", gnb_logout : encodeURIComponent(location.href), gnb_login : encodeURIComponent(location.href), gnb_brightness : 1 , gnb_item_hide_option : 0 } ; var gnb_url = "https://ssl.pstatic.net/static.gn/templates/gnb_utf8.nhn" ; nx_js_defer_load(gnb_url + "?" + headerfooter_time_year_s + headerfooter_time_month_s + headerfooter_time_day_s + headerfooter_time_hour_s, function() { getGNB() ; $Fn(function(we) { if (typeof gnbAllLayerClose == "function") { var bShowLayer = gnbUserLayer.show || gnbNaverMeLayer.show || gnbMoreLayer.show; var bClickGNBArea = $Element($$.getSingle("ul.gnb_lst")).isEqual(we.element) || $Element($$.getSingle("ul.gnb_lst")).isParentOf(we.element); if (bShowLayer && !bClickGNBArea) { gnbAllLayerClose(); } } }, this).attach(document, "click"); }, 0) ; </script> </div> </div><script> var nx_usain_beacon = function($) { var sent = 0; var tags = []; var usain_obj = { send: function() { if (sent > 0) { return; } sent = 1; setTimeout(function() { var perf = ""; perf = (function() { function _(t) { return (t?(t-window.performance.timing.navigationStart):0); }; if (typeof(window.performance) == "undefined") { return "" } if (typeof(window.performance.timing) == "undefined") { return "" } if (typeof(window.performance.navigation) == "undefined") { return "" } if (typeof(window.g_puid) == "undefined") { return "" } if (typeof(window.g_ssc) == "undefined") { return "" } var t = window.performance.timing; var n = window.performance.navigation; return "navt=" + [_(t.navigationStart), _(t.unloadEventStart), _(t.unloadEventEnd), _(t.redirectStart), _(t.redirectEnd), _(t.fetchStart), _(t.domainLookupStart), _(t.domainLookupEnd), _(t.connectStart), _(t.connectEnd), _(t.requestStart), _(t.responseStart), _(t.responseEnd), _(t.domLoading), _(t.domInteractive), _(t.domContentLoadedEventStart), _(t.domContentLoadedEventEnd), _(t.domComplete), _(t.loadEventStart), _(t.loadEventEnd), n.type, n.redirectCount].join(":") + "&page_id=" + encodeURIComponent(window.g_puid) + "&ssc=" + encodeURIComponent(window.g_ssc); }) (); if (document.location.protocol === 'https:') { tags.push('_ssl'); } else { tags.push('_nossl'); } var agent = eg.agent(); if (agent.browser.version) { var version = ""; var vers = (agent.browser.version + "").split('.'); version = vers[0]; if (version > 0) { tags.push('ua.' + agent.browser.name + '.' + version); } } if (naver.search.csdark) { tags.push("csdark.1"); } else { tags.push("csdark.0"); } var queries = []; if (perf) { queries.push(perf); } queries.push("tags=" + tags.join(":") ); var u = new Image(); u.src = "https://er.search.naver.com/er?v=2&" + queries.join("&"); u.onload = function() { u.onload = null; } }, 250); }, add_tag: function(tag) { tags.push(tag); } }; return usain_obj; }(jQuery); </script> <div id="lnb" tabindex="0"><div class="lnb_group"> <div class="lnb_menu"> <ul role="tablist" class="base"> <li role="presentation" class="menu"><a role="tab" href="?where=nexearch&sm=tab_jum&query=" onclick="return goOtherCR(this,'a=tab*N.now&r=1&i=&u='+urlencode(this.href));" class="tab" aria-selected="true">통합</a></li><li role="presentation" class="menu"><a role="tab" href="?where=view&sm=tab_jum&query=" onclick="return goOtherCR(this,'a=tab*e.jmp&r=2&i=&u='+urlencode(this.href))" class="tab" aria-selected="false">VIEW</a></li><li role="presentation" class="menu"><a role="tab" href="?where=image&sm=tab_jum&query=" onclick="return goOtherCR(this,'a=tab*i.jmp&r=3&i=&u='+urlencode(this.href));" class="tab" aria-selected="false">이미지</a></li><li role="presentation" class="menu"><a role="tab" href="?where=kin&sm=tab_jum&query=" onclick="return goOtherCR(this,'a=tab*k.jmp&r=4&i=&u='+urlencode(this.href));" class="tab" aria-selected="false">지식iN</a></li><li role="presentation" class="menu"><a role="tab" href="?where=influencer&sm=tab_jum&query=" onclick="return goOtherCR(this,'a=tab*F.jmp&r=5&i=&u='+urlencode(this.href));" class="tab" aria-selected="false">인플루언서</a></li><li role="presentation" class="menu"><a role="tab" href="?where=video&sm=tab_jum&query=" onclick="return goOtherCR(this,'a=tab*v.jmp&r=6&i=&u='+urlencode(this.href));" class="tab" aria-selected="false">동영상</a></li><li role="presentation" class="menu"><a role="tab" href="https://search.shopping.naver.com/search/all?where=all&frm=NVSCTAB&query=" onclick="return goOtherCR(this,'a=tab*S.jmp&r=7&i=&u='+urlencode(this.href));" class="tab" aria-selected="false" target="_blank">쇼핑</a></li><li role="presentation" class="menu"><a role="tab" href="?where=news&sm=tab_jum&query=" onclick="return goOtherCR(this,'a=tab*n.jmp&r=8&i=&u='+urlencode(this.href));" class="tab" aria-selected="false">뉴스</a></li><li role="presentation" class="menu"><a role="tab" href="https://dict.naver.com/search.nhn?dicQuery=&query=&target=dic&query_utf=&isOnlyViewEE=" onclick="return goOtherCR(this,'a=tab*L.jmp&r=9&i=&u='+urlencode(this.href));" class="tab" aria-selected="false" target="_blank">어학사전</a></li><li role="presentation" class="menu"><a role="tab" href="https://map.naver.com/v5/search/" onclick="return goOtherCR(this,'a=tab*M.jmp&r=10&i=&u='+urlencode(this.href));" class="tab" aria-selected="false" target="_blank">지도</a></li> </ul> <div class="group_more"> <div id="_nx_lnb_more" class="more_area"> <a role="button" href="#" class="lnb_more _more_btn" aria-pressed="false" onclick="tCR(jQuery(this).attr('aria-pressed') === 'false' ? 'a=tab.more' : 'a=tmr.less');"> <i class="spnew ico_lnb_more">더보기</i> </a> <div class="addon"> <ul> <li role="presentation" class="menu"><a role="tab" href="https://search.shopping.naver.com/book/search?query=" onclick="return goOtherCR(this,'a=tmr*B.jmp&r=1&i=&u='+urlencode(this.href));" class="tab" aria-selected="false" target="_blank">도서</a></li><li role="presentation" class="menu"><a role="tab" href="https://vibe.naver.com/search?query=" onclick="return goOtherCR(this,'a=tmr*m.jmp&r=2&i=&u='+urlencode(this.href));" class="tab" aria-selected="false" target="_blank">뮤직</a></li><li role="presentation" class="menu"><a role="tab" href="?where=kdic&sm=tab_jum&query=" onclick="return goOtherCR(this,'a=tmr*K.jmp&r=3&i=&u='+urlencode(this.href));" class="tab" aria-selected="false">지식백과</a></li><li role="presentation" class="menu"><a role="tab" href="https://audioclip.naver.com/search/all?keyword=" onclick="return goOtherCR(this,'a=tmr*A.jmp&r=4&i=&u='+urlencode(this.href));" class="tab" aria-selected="false" target="_blank">오디오클립</a></li><li role="presentation" class="menu"><a role="tab" href="https://academic.naver.com/search.naver?field=0&query=" onclick="return goOtherCR(this,'a=tmr*a.jmp&r=5&i=&u='+urlencode(this.href));" class="tab" aria-selected="false" target="_blank">학술정보</a></li> </ul> <a role="button" href="#" class="btn_option _option_btn" onclick="return tCR('a=tmr.optn');" aria-pressed="false" >검색옵션</a> </div> </div> </div> </div> </div><div class="lnb_util"> <ul class="list_util"> <li> <a role="button" href="#" id="spiButton2" class="spnew_bf bt_share naver-splugin" onclick="return tCR('a=lnb.shr');" data-evkey="search" data-service-name="통합검색" data-style="unity-v2" data-use-short-url="on" data-me-display="off" data-mail-display="off" data-option="{baseElement:'spiButton2', layerPosition:'outside-bottom', align:'right', top:4, left:0, marginLeft:8, marginTop:10}" data-blog-url="https://search.naver.com/search.naver?sm=svc_pin.blog&where=nexearch" data-cafe-url="https://search.naver.com/search.naver?sm=svc_pin.cafe&where=nexearch" data-cafe-source-form="2" data-memo-url="https://search.naver.com/search.naver?sm=svc_pin.memo&where=nexearch" data-calendar-url="https://search.naver.com/search.naver?sm=svc_pin.cal&where=nexearch" data-twitter-url="https://search.naver.com/search.naver?sm=twp_pin&where=nexearch" data-facebook-url="https://search.naver.com/search.naver?sm=fbp_pin&where=nexearch" data-band-url="https://search.naver.com/search.naver?sm=bdp_pin&where=nexearch" >공유</a> </li> </ul> </div><script type="text/javascript"> nx_js_defer_load("https://ssl.pstatic.net/spi/js/release/ko_KR/splugin.js?" + headerfooter_time_year_s + headerfooter_time_month_s + headerfooter_time_day_s, function() { g_nx_splugin = SocialPlugIn_Core({ "evKey" : "search", "serviceName" : "통합검색" }) ; }, 150) ; function splugin_oninitialize(sTargetId) { var elTarget = document.getElementById(sTargetId) ; var sUrl = $$.getSingle('a._sp_each_url', elTarget ).href ; var sTitle = $Element($$.getSingle('._sp_each_title', elTarget)).text() ; var sSource = $Element($$.getSingle('._sp_each_source', elTarget)) ; if (sSource) sSource = sSource.text() ; return { "url" : sUrl, "title" : sTitle, "option" : {baseElement:sTargetId + '_base', layerPosition:'outside-bottom', align:'right', top:18, left:-28, marginLeft:8, marginTop:10}, "me" : { display : "off" }, "mail" : { display : "off" }, "sourceName" : sSource } ; } </script><script> nx_js_defer_load("//search.like.naver.com/static/js/likeIt.list.js?" + headerfooter_time_year_s + headerfooter_time_month_s + headerfooter_time_day_s, function() { nhn.LikeIt.list.util.init({ sId : "SEARCH", sDomain : "//search.like.naver.com", bMobile : false }) ; }, 150) ; </script></div></div><script> (function() { var startApplication = function() { var jsFileURL = "https://ssl.pstatic.net/sstatic/au/pc/tab/SearchTab_210504.js"; var require = window.require.config({ "context": "search_tab_module", "paths": { "SearchTab": jsFileURL.replace(/\.js$/, ""), } }); define("jquery", [], function() { return jQuery; }); require(["SearchTab"], function(SearchTab) { var BASE_FLOATING_WIDTH = 1181; var $window = jQuery(window); var $lnb = jQuery("#lnb"); var $headerWrap = jQuery("#header_wrap"); var tab = new SearchTab($window, $lnb) .on("checkWindowWidth", function(e){ if (e.windowWidth >= BASE_FLOATING_WIDTH) { $headerWrap.addClass("type_fixed"); tab.activateFloating(); } else { tab.deactivateFloating(); $headerWrap .removeClass("type_fixed") .removeClass("type_hide"); } }) .on("hideTab", function(){ if (window.g_nx_splugin && typeof window.g_nx_splugin.hide === "function") { window.g_nx_splugin.hide(); } }) .on("changeState", function(e){ $headerWrap.toggleClass("type_hide", e.isUnderBaseline); if (e.isUnderBaseline) { $headerWrap.addClass("type_animation"); } }); window.naver = window.naver || {}; window.naver.pc = window.naver.pc || {}; window.naver.pc.search_tab = tab; }); }; naver.common.load_js(window.require ? null : naver.common.gv.REQUIRE_JS, startApplication, true, 150); })(); </script><script type="text/javascript"> naver.search.section = { "main": [{"area": "kin_rnd*k", "rank": 1}], "main2": [{"area": "krk_rcd", "rank": 1},{"area": "bnr", "rank": 2}], "find_section_list": function(column, area) { if (!this[column]) return []; return this[column].filter(function(a) { return a.area.indexOf(area) === 0; }); } }; </script></div><div id="container" role="main"> <div id="content" class="pack_group"> <h1 class="blind"> 통합검색 결과</h1> <div id="main_pack" class="main_pack"><script type="text/javascript"> var nx_cr_area_info = [{"n": "kin_rnd", "r": 1}]; </script><script type="text/javascript"> naver.search.option = {} ; naver.search.option.params = {} ; naver.search.option.append_params = (function () { return function (f, exclude) { if (exclude == undefined) exclude = []; for (var k in naver.search.option.params) { if (exclude.indexOf(k) >= 0) continue; var v = naver.search.option.params[k] ; var input = document.createElement("input"); input.type = "hidden"; input.name = k ; input.value = v ; f.appendChild(input); } return true ; } ; })() ; naver.search.option.get_params = (function () { return function () { var option_params = "" ; for (var k in naver.search.option.params) { var v = naver.search.option.params[k]; option_params = option_params.concat("&" + k + "=" + urlencode(v)); } return option_params ; } ; })() ; </script><div id="snb" class="_search_option_detail_wrap" style="display:none;"> <form id="nx_option_form" name="nx_option_form" action="?"> <input type="hidden" id="where" name="where" value="nexearch"> <input type="hidden" id="query" name="query" value=""> <input type="hidden" id="sm" name="sm" value="tab_opt"> </form> <div role="listbox" class="api_group_option_sort"> <button onclick="return tCR('a=opt.fold');" type="button" class="spnew_bf bt_close _search_option_close_btn">검색옵션 닫기</button> <ul class="lst_option"> <li class="bx lineup"> <div class="bx_inner"> <strong class="tit">정렬</strong> <div role="tablist" class="option"> <a role="tab" class="txt" aria-selected="true" href="?where=nexearch&sm=tab_opt&query=&nso=so%3Ar&nso_open=1" onclick="return goOtherCR(this, 'a=opt.sim&r=&i=&u='+urlencode(this.href));">관련도순</a><a role="tab" class="txt" aria-selected="false" href="?where=nexearch&sm=tab_opt&query=&nso=so%3Add&nso_open=1" onclick="return goOtherCR(this, 'a=opt.new&r=&i=&u='+urlencode(this.href));">최신순</a> </div> </div> </li> <li class="bx term"> <div class="bx_inner"> <strong class="tit">기간</strong> <div role="tablist" class="option"> <a role="tab" class="txt" aria-selected="true" href="?where=nexearch&sm=tab_opt&query=&nso=p%3Aall&nso_open=1" onclick="return goOtherCR(this, 'a=opt.all&r=&i=&u='+urlencode(this.href));">전체</a><a role="tab" class="txt" aria-selected="false" href="?where=nexearch&sm=tab_opt&query=&nso=p%3A1h&nso_open=1" onclick="return goOtherCR(this, 'a=opt.1hr&r=&i=&u='+urlencode(this.href));">1시간</a><a role="tab" class="txt" aria-selected="false" href="?where=nexearch&sm=tab_opt&query=&nso=p%3A1d&nso_open=1" onclick="return goOtherCR(this, 'a=opt.1day&r=&i=&u='+urlencode(this.href));">1일</a><a role="tab" class="txt" aria-selected="false" href="?where=nexearch&sm=tab_opt&query=&nso=p%3A1w&nso_open=1" onclick="return goOtherCR(this, 'a=opt.1wk&r=&i=&u='+urlencode(this.href));">1주</a><a role="tab" class="txt" aria-selected="false" href="?where=nexearch&sm=tab_opt&query=&nso=p%3A1m&nso_open=1" onclick="return goOtherCR(this, 'a=opt.1mon&r=&i=&u='+urlencode(this.href));">1개월</a><a role="tab" class="txt" aria-selected="false" href="?where=nexearch&sm=tab_opt&query=&nso=p%3A3m&nso_open=1" onclick="return goOtherCR(this, 'a=opt.3mon&r=&i=&u='+urlencode(this.href));">3개월</a><a role="tab" class="txt" aria-selected="false" href="?where=nexearch&sm=tab_opt&query=&nso=p%3A6m&nso_open=1" onclick="return goOtherCR(this, 'a=opt.6mon&r=&i=&u='+urlencode(this.href));">6개월</a><a role="tab" class="txt" aria-selected="false" href="?where=nexearch&sm=tab_opt&query=&nso=p%3A1y&nso_open=1" onclick="return goOtherCR(this, 'a=opt.1yr&r=&i=&u='+urlencode(this.href));">1년</a> <a onclick="tCR('a=opt.cal');" href="#" role="tab" class="txt txt_option _calendar_select_trigger" data-select-trigger aria-selected="false">직접입력<i class="spnew ico_check">옵션<em class="open">펼치기</em><em class="close">접기</em></i></a> </div> <div class="api_select_option type_calendar _calendar_select_layer" data-select-layer style="display: none;"> <div role="tablist" class="set_calendar"> <span class="set"> <span class="blind">기간 설정시작</span> <a onclick="tCR('a=opt.str');" href="#" role="tab" class="spnew_bf ico_calendar _start_trigger" aria-selected="true"></a> </span> <span class="set etc"> <span class="spnew ico_since"></span> </span> <span class="set"> <span class="blind">기간 설정끝</span> <a onclick="tCR('a=opt.fin');" href="#" role="tab" class="spnew_bf ico_calendar _end_trigger" aria-selected="false"></a> </span> </div> <div class="select_wrap _root"> <div class="group_select _list_root"> <strong class="blind">년(Year)</strong> <div class="select_cont"> <div class="select_area _scroll_wrapper"> <div> <ul role="tablist" class="lst_item _ul"></ul> </div> </div> </div> </div> <div class="group_select _list_root"> <strong class="blind">월(Month)</strong> <div class="select_cont"> <div class="select_area _scroll_wrapper"> <div> <ul role="tablist" class="lst_item _ul"></ul> </div> </div> </div> </div> <div class="group_select _list_root"> <strong class="blind">일(Day)</strong> <div class="select_cont"> <div class="select_area _scroll_wrapper"> <div> <ul role="tablist" class="lst_item _ul"></ul> </div> </div> </div> </div> </div> <div class="btn_area"> <button data-cr-area="opt.set" type="button" class="btn_apply _apply_btn">적용</button> </div> </div> </div> </li> <li class="bx clear"> <div class="bx_inner"> <div class="option"> <a href="?where=nexearch&sm=tab_opt&query=&nso_open=1" onclick="return goOtherCR(this, 'a=opt.reset&r=&i=&u='+urlencode(this.href));" class="btn_clear spnew_bf" role="button">옵션초기화</a> <a href="https://help.naver.com/support/alias/search/integration/intergration_84.naver" target="_blank" onclick="return goOtherCR(this, 'a=opt.help&r=&i=&u='+urlencode(this.href));" class="link_help">검색옵션 가이드<i class="spnew api_ico_help"></i></a> </div> </div> </li> </ul> </div> </div><script> naver.search.option.append_params(jQuery("#nx_option_form")[0]); </script> <script> (function() { var jsFileURL = "https://ssl.pstatic.net/sstatic/fe/sfe/searchOption/Controller_220519.js"; var startApplication = function() { var require = window.require.config({ "context": "_fe_search_option", "paths": { /* Controller.js의 경로 지정. */ "Controller": jsFileURL.replace(/\.js$/, "") } }); /* module define은 require의 context별로 호출해야함. */ define("jquery", [], function() { return jQuery; }); require(["Controller"], function(Controller) { var oSearchOption = new Controller({ "$form": jQuery("#nx_option_form") }); oSearchOption.on({ "selectCalendar": function(e) { var param = e.param; var cr = { "area": e.$item.data("cr-area") }; var date_from = e.startDate; var date_to = e.endDate; var from = date_from.year + "." + date_from.month + "." + date_from.date; from = from.replace(/\./g, ''); var to = date_to.year + "." + date_to.month + "." + date_to.date; to = to.replace(/\./g, ''); var opt_p = "p:from" + (from < to ? from : to) + "to" + (from < to ? to : from); var params = naver.search.option.params; var nso = params["nso"]; if (nso) { var arr = nso.split(","); var isPeriodExist = false; arr.forEach(function(element, index, arr){ if (element.indexOf("p:") == 0) { arr[index] = opt_p; isPeriodExist = true; } }); if (!isPeriodExist){ arr.push(opt_p); } nso = arr.join(","); } else { nso = opt_p; } params["nso"] = nso; param = ""; for (var k in params) { var v = params[k]; param += "&" + k + "=" + urlencode(v); } if (param[0] === "&") { param = param.substring(1); } /* formCR 클릭로그 호출 */ this.submit(param, cr); } }); }); }; var requirejs = naver.common.gv.REQUIRE_JS; naver.common.load_js(window.require ? null : requirejs, startApplication, true, 150); })(); </script><section class="sc_new sp_nkeyword"> <div class="api_subject_bx"> <div class="suggest_wrap"> <div class="dsc_area">검색어를 입력하지 않은 경우 <strong class="source">재미있는 지식 결과</strong>를 랜덤하게 보여드립니다.</div> </div> </div> </section><link rel="stylesheet" type="text/css" href="https://ssl.pstatic.net/sstatic/search/pc/css/sp_nkin_220224.css"> <section class="sc_new sp_nkin _au_kin_collection api_is_random"> <div class="api_subject_bx"> <div class="api_title_area"> <h2 class="api_title">지식iN</h2> <div class="api_title_sub"> <div class="api_sub_link"> <a href="https://kin.naver.com/qna/question.naver" class="other_link" onclick="return goOtherCR(this,'a=kin_rnd.que&r=&i=&u='+urlencode(this.href));">지식iN에 물어보기</a> </div> </div> </div> <ul class="lst_total"> <li class="bx _svp_item" data-cr-area="kin_rnd"> <div class="kin_wrap api_ani_send"> <div class="question_area"> <i class="spnew api_ico_q">Q</i> <div class="question_group"> <a href="https://kin.naver.com/qna/detail.naver?d1id=8&dirId=811&docId=266120184&qb=MTAwMDAwMDlfMDAwMDBmZGNhYmY4IDEwMDAwMDA5XzAwMDAxM2QxY2UxYiAxMDAwMDAwOV8yYmZhNzkxZWZkNzEgMTAwMDAwMDlfMmQwNzRmZjFhMzY3&enc=utf8§ion=kin.ext&rank=1&search_sort=0&spq=0" class="api_txt_lines question_text" onclick="return goOtherCR(this,'a=kin_rnd.question&r=1&i=10000009_00000fdcabf8&u='+urlencode(this.href));" target="_blank">자동차 유리창에 검은 땡땡이는 뭘까요? 무슨 이유로 저렇게 만들었을지 궁금합니다.</a> </div> </div> <div class="answer_area "> <div class="profile_group"> <a role="button" href="https://kin.naver.com/search/one2oneLink?dirId=811&docId=266120184&answerNo=2" class="btn_talk" onclick="return goOtherCR(this,'a=kin_rnd.individual&r=1&i=10000009_00000fdcabf8&u='+urlencode(this.href));" target="_blank"><i class="spnew api_ico_talk"></i>1:1</a> <a href="https://kin.naver.com/search/profileLink?dirId=811&docId=266120184&answerNo=2" class="profile_link" onclick="return goOtherCR(this,'a=kin_rnd.profile&r=1&i=10000009_00000fdcabf8&u='+urlencode(this.href));" target="_blank"> <i class="spnew api_ico_a">A</i> <span class="thumb"><img src="https://search.pstatic.net/common/?src=https%3A%2F%2Fkin-phinf.pstatic.net%2F20210607_10%2F1623072686596jYSDn_JPEG%2F_LG.jpg&type=f44_44" width="22" height="22" alt="" class="img" onerror="this.src='data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7';this.className='bg_npimg'"></span> <div class="info_box"> <div class="info_box_inner"> <span class="name">LGtwinsFan</span> </div> </div> </a> </div> <div class="answer_group"> <a href="https://kin.naver.com/qna/detail.naver?d1id=8&dirId=811&docId=266120184&qb=MTAwMDAwMDlfMDAwMDBmZGNhYmY4IDEwMDAwMDA5XzAwMDAxM2QxY2UxYiAxMDAwMDAwOV8yYmZhNzkxZWZkNzEgMTAwMDAwMDlfMmQwNzRmZjFhMzY3&enc=utf8§ion=kin.ext&rank=1&search_sort=0&spq=0" class="api_txt_lines answer_text" onClick="return goOtherCR(this, 'a=kin_rnd.answer&r=1&i=10000009_00000fdcabf8&u=javascript'+urlencode(this.href));" target="_blank">여러 이유가 있겠지만, 크게 2가지 이유라 볼 수 있습니다. 1. 시각적인 이유 만일 유리가장자리에 검은 점 패튼들이 없다면, 유리 가장자리가 매우 선명하게 보일겁니다. 그렇다면 유리를 붙이기 위해 사용된 우레탄자국이 선명하게 보일건데, 외관상 보기가 좋지 않으므로, 가려주면 더욱 좋습니다. 2.햇빛차단 자동차 앞유리 뿐만 아니라 뒷유리장착하는데 고도의 높은 기술이 들어갑니다. 이를 접착하는데 접착제가 강한 직사광산에 노출이 된다면 시간이 지남에 따라 접착력이 떨어짐을 사전에 방지하는 기능도 있습니다. 아울러 뒷유리에 가장자리도 검은 점 패턴들이 있는데, 뒷 유리를 통해 통한 빛이 결국 룸미러를 통해서 운전자가 보게되는데, 직사광산 /햇빛을 절반 정도 줄여주는 효과가 있을뿐만 아니라, 룸미러에서도 아무리 봐도 뒷유리의 검은 점 패턴이 보이지 않습니다. 이러한 이유로 뒷유리 가장자리에도 검은 점 패턴들이 있습니다. 꼭 자동차유리의 검은...</a> <div class="elss desc_group"> <span class="desc">2016.12.13.</span> </div> </div> </div> </div> </li> </ul> <div class="api_more_wrap"><a href="https://search.naver.com/search.naver?where=nexearch&query=%EC%9E%90%EB%8F%99%EC%B0%A8+%EC%9C%A0%EB%A6%AC%EC%B0%BD%EC%97%90+%EA%B2%80%EC%9D%80+%EB%95%A1%EB%95%A1%EC%9D%B4%EB%8A%94+%EB%AD%98%EA%B9%8C%EC%9A%94%3F&x_kin=%7B%22random_search%22%3A+%7B%22gdid%22%3A%2210000009_00000fdcabf8%22%7D%7D&mra=S05J&sm=tab_rnd.more" onclick="return goOtherCR(this,'a=kin_rnd.ints&r=&i=&u='+urlencode(this.href));" class="api_more">통합검색 더보기<i class="spnew ico_arr"></i></a></div> </div> </section> <script> (function() { var startApplication = function() { var jsFileURL = "https://ssl.pstatic.net/sstatic/au/pc/kin/Controller_201218.js"; var require = window.require.config({ "context": "au_kin_collection", "paths": { /* Controller.js의 경로 지정. */ "Controller": jsFileURL.replace(/\.js$/, "") } }); /* module define은 require의 context별로 호출해야함. */ define("jquery", [], function() { return jQuery; }); require(["Controller"], function(Controller) { var $Base = jQuery("._au_kin_collection"); new Controller($Base.get(0)); }); }; naver.common.load_js(window.require ? null : naver.common.gv.REQUIRE_JS, startApplication, true, 150); })(); </script> <script type="text/template" id="_kin_multimedia_youtubeVideoTemplate"> <div class="video_common_player"> <div class="video_player"> <div class="player_box"> <div class="player_inner"> <iframe type="text/html" src="{=playUrl}?autoplay=1&showinfo=1&playsinline=1" frameborder="0" allow="autoplay; encrypted-media" class="full _ytplayer" /> </div> </div> <a href="javascript:;" role="button" class="spnew_af btn_close _svp_close" aria-label="동영상 바로재생 닫기">닫기</a> </div> </div> </script> <script type="text/template" id="_kin_multimedia_naverVideoTemplate"> <div class="video_common_player"> <div class="video_player"> <div class="player_box"> <div class="player_inner"> <div class="_nplayer full"></div> </div> </div> <a href="javascript:;" role="button" class="spnew_af btn_close _svp_close" aria-label="동영상 바로재생 닫기">닫기</a> </div> </div> </script> <script type="text/template" id="_kin_multimedia_errorVideoTemplate"> <div class="video_common_error"> <div class="api_error"> <i class="spnew api_ico_error"></i> <strong class="tit_message">죄송합니다. 일시적인 오류 입니다.</strong> <p class="dsc_message">잠시 후 다시 시도해주십시오.</p> {if retryable} <a href="#" role="button" class="btn_retry _svp_retry" data-api="{=api}" data-player-key="{=playerKey}" data-is-visible-close-btn="{=isVisibleCloseBtn}"><i class="spnew api_ico_retry2"></i>재시도</a> {/if} </div> </div> </script> <script> (function($) { var startVideoApplication = function() { var $base = $("._au_kin_collection"); var require = window.require.config({ "context": "search_common_modules" }); require(["VideoPlayer2"], function() { var oVideoPlayer2 = new naver.common.VideoPlayer2({ "$base": $base, "template": "kin_multimedia", "param": "env=real&adt=glad" }); oVideoPlayer2.on({ "triggerClick": function(e) { /*tCR("a=" + $item.data("cr-area") + ".trigger"); */ }, "closeClick": function(e) { tCR("a=" + e.$item.data("cr-area") + ".triggeroff&r=&i=&u=javascript"); } }); }); }; var requirejs = naver.common.gv.REQUIRE_JS; naver.common.load_js(window.require ? null : requirejs, startVideoApplication, true, 150); })(jQuery); </script> <div class="api_random_banner type_fixed type_solo _random_banner_root"> <a onclick="return goOtherCR(this, 'a=rnd_btn.requery&r=&i=&u='+urlencode(this.href));" href="?where=nexearch&&query=&sm=tab_rnd.another" class="banner"> <span class="banner_inner"><i class="spnew api_ico_random"></i>다른 지식을 보려면 눌러보세요!</span> </a> </div></div><div id="sub_pack" class="sub_pack"><section class="sc_new sp_naside _fe_keyword_hot"> <div class="api_subject_bx"> <div class="api_title_area"> <h2 class="api_title">많이 본 지식백과</h2> </div> <div class="naside_wrap type_entry"> <div class="entry_list_wrap _flicking_wrap"> <div class="api_flicking_wrap _flicking"> <div class="flick_bx flick_width"> <ol class="entry_list"> <li class="item_bx"><a href="?where=nexearch&sm=tab_knw&query=%EB%B9%88%EA%B3%A4+%ED%8F%AC%EB%A5%B4%EB%85%B8&qdt=0&mra=S0NE" onclick="return goOtherCR(this, 'a=krk_rcd.kwd&r=1&i=&u='+urlencode(this.href))" ondragstart="return false" class="item"><div class="item_inner"> <div class="thumb_area"> <img src="https://search.pstatic.net/common/?src=https%3A%2F%2Fpost-phinf.pstatic.net%2FMjAxODA4MjFfMTU2%2FMDAxNTM0ODIwMzQ4NDYw.g0xEzv6IRQBVQTn8vsE0egsGIf5NVxltFuohVtwZ-bUg.5z8uraRcMxDowqEglI_Pualf1PkWjgGVbqflSHIOm8Ag.JPEG%2FIjoHF_v693ZKN7o8_0gnB0JWgyt4.jpg%3Ftype%3Dw540_fst%23540x359&type=n110_110" width="48" height="48" class="thumb" alt=""> </div> <div class="entry_area"> <div class="rank_wrap"> <em class="rank">1</em> </div> <div class="tit_wrap"> <div class="tit">빈곤 포르노</div> <div class="dsc">시사상식사전</div> </div> </div> </div></a></li> <li class="item_bx"><a href="?where=nexearch&sm=tab_knw&query=%EC%8B%9C%EB%A3%A8%EC%84%AC%EC%9D%98+%EA%B8%B0%EC%A0%81&qdt=0&mra=S0NE" onclick="return goOtherCR(this, 'a=krk_rcd.kwd&r=2&i=&u='+urlencode(this.href))" ondragstart="return false" class="item"><div class="item_inner"> <div class="thumb_area"> <img src="https://search.pstatic.net/common/?src=https%3A%2F%2Fpost-phinf.pstatic.net%2FMjAyMjExMTZfMzkg%2FMDAxNjY4NTkwMTU4Mzgz.CTbBLP6hXaEUFdMILL0WVDQ25r3dAVCqoSFMTzDMtqYg.wkJtchAXtpZ-RkxTxCzxG0jB0yN8m5ySHceTDkJj5fYg.JPEG%2FIOS1b_tehuydy6NPrnsJYd4-VtSs.jpg%3Ftype%3Dw540_fst%23540x405%23c405&type=n110_110" width="48" height="48" class="thumb" alt=""> </div> <div class="entry_area"> <div class="rank_wrap"> <em class="rank">2</em> </div> <div class="tit_wrap"> <div class="tit">시루섬의 기적</div> <div class="dsc">시사상식사전</div> </div> </div> </div></a></li> <li class="item_bx"><a href="?where=nexearch&sm=tab_knw&query=%EC%B9%B4%ED%83%80%EB%A5%B4&qdt=0&mra=S0NE" onclick="return goOtherCR(this, 'a=krk_rcd.kwd&r=3&i=&u='+urlencode(this.href))" ondragstart="return false" class="item"><div class="item_inner"> <div class="thumb_area"> <img src="https://search.pstatic.net/common/?src=https%3A%2F%2Fdbscthumb-phinf.pstatic.net%2F2765_000_68%2F20181113215358892_WPHJM4SIU.jpg%2F1638694.jpg%3Ftype%3Dw450_fst%23450x176&type=n110_110" width="48" height="48" class="thumb" alt=""> </div> <div class="entry_area"> <div class="rank_wrap"> <em class="rank">3</em> </div> <div class="tit_wrap"> <div class="tit">카타르</div> <div class="dsc">두산백과 두피디아</div> </div> </div> </div></a></li> <li class="item_bx"><a href="?where=nexearch&sm=tab_knw&query=%EC%9D%B8%ED%94%8C%EB%A3%A8%EC%97%94%EC%9E%90&qdt=0&mra=S0NE" onclick="return goOtherCR(this, 'a=krk_rcd.kwd&r=4&i=&u='+urlencode(this.href))" ondragstart="return false" class="item"><div class="item_inner"> <div class="entry_area"> <div class="rank_wrap"> <em class="rank">4</em> </div> <div class="tit_wrap"> <div class="tit">인플루엔자</div> <div class="dsc">서울대학교병원 의학정보</div> </div> </div> </div></a></li> <li class="item_bx"><a href="?where=nexearch&sm=tab_knw&query=%EC%82%AC%EC%9A%B0%EB%94%94%EC%95%84%EB%9D%BC%EB%B9%84%EC%95%84&qdt=0&mra=S0NE" onclick="return goOtherCR(this, 'a=krk_rcd.kwd&r=5&i=&u='+urlencode(this.href))" ondragstart="return false" class="item"><div class="item_inner"> <div class="thumb_area"> <img src="https://search.pstatic.net/common/?src=https%3A%2F%2Fdbscthumb-phinf.pstatic.net%2F2765_000_43%2F20181008222300384_UAZVZW0AQ.jpg%2F1408429.jpg%3Ftype%3Dw450_fst%23450x337%23c337&type=n110_110" width="48" height="48" class="thumb" alt=""> </div> <div class="entry_area"> <div class="rank_wrap"> <em class="rank">5</em> </div> <div class="tit_wrap"> <div class="tit">사우디아라비아</div> <div class="dsc">두산백과 두피디아</div> </div> </div> </div></a></li> </ol> </div> <div class="flick_bx flick_width"> <ol class="entry_list"> <li class="item_bx"><a href="?where=nexearch&sm=tab_knw&query=%EB%8C%80%ED%95%99%EC%88%98%ED%95%99%EB%8A%A5%EB%A0%A5%EC%8B%9C%ED%97%98&qdt=0&mra=S0NE" onclick="return goOtherCR(this, 'a=krk_rcd.kwd&r=6&i=&u='+urlencode(this.href))" ondragstart="return false" class="item"><div class="item_inner"> <div class="thumb_area"> <img src="https://search.pstatic.net/common/?src=https%3A%2F%2Fdbscthumb-phinf.pstatic.net%2F2765_000_122%2F20181203113117309_EMXW9IP9I.jpg%2F276583.jpg%3Ftype%3Dw450_fst%23450x299&type=n110_110" width="48" height="48" class="thumb" alt=""> </div> <div class="entry_area"> <div class="rank_wrap"> <em class="rank">6</em> </div> <div class="tit_wrap"> <div class="tit">대학수학능력시험</div> <div class="dsc">두산백과 두피디아</div> </div> </div> </div></a></li> <li class="item_bx"><a href="?where=nexearch&sm=tab_knw&query=%EB%AC%B4%ED%95%A8%EB%A7%88%EB%93%9C+%EB%B9%88+%EC%82%B4%EB%A7%8C&qdt=0&mra=S0NE" onclick="return goOtherCR(this, 'a=krk_rcd.kwd&r=7&i=&u='+urlencode(this.href))" ondragstart="return false" class="item"><div class="item_inner"> <div class="thumb_area"> <img src="https://search.pstatic.net/common/?src=https%3A%2F%2Fpost-phinf.pstatic.net%2FMjAxOTA2MjZfNzYg%2FMDAxNTYxNTQwNTE4NzAx.QO1D8940GwbjgRYbxc3saJfKJRurLrlrmtyhVK4gEt0g.JMw5qZTb_2hNgH06QWb_YT9HaFDQwPdqaocRHvhurJwg.JPEG%2FI_b9SpioKucVa-_Cx92bGCNK7NK0.jpg%3Ftype%3Dw540_fst%23540x360&type=n110_110" width="48" height="48" class="thumb" alt=""> </div> <div class="entry_area"> <div class="rank_wrap"> <em class="rank">7</em> </div> <div class="tit_wrap"> <div class="tit">무함마드 빈 살만</div> <div class="dsc">시사상식사전</div> </div> </div> </div></a></li> <li class="item_bx"><a href="?where=nexearch&sm=tab_knw&query=%EB%8C%80%EC%83%81%ED%8F%AC%EC%A7%84&qdt=0&mra=S0NE" onclick="return goOtherCR(this, 'a=krk_rcd.kwd&r=8&i=&u='+urlencode(this.href))" ondragstart="return false" class="item"><div class="item_inner"> <div class="thumb_area"> <img src="https://search.pstatic.net/common/?src=https%3A%2F%2Fdbscthumb-phinf.pstatic.net%2F1983_000_3%2F20190318183508909_0X7325UCI.jpg%2Fi1_AA000006_32.jpg%3Ftype%3Dw450_fst_n%23339x305%23c305&type=n110_110" width="48" height="48" class="thumb" alt=""> </div> <div class="entry_area"> <div class="rank_wrap"> <em class="rank">8</em> </div> <div class="tit_wrap"> <div class="tit">대상포진</div> <div class="dsc">서울대학교병원 의학정보</div> </div> </div> </div></a></li> <li class="item_bx"><a href="?where=nexearch&sm=tab_knw&query=%EA%B3%B5%ED%99%A9%EC%9E%A5%EC%95%A0&qdt=0&mra=S0NE" onclick="return goOtherCR(this, 'a=krk_rcd.kwd&r=9&i=&u='+urlencode(this.href))" ondragstart="return false" class="item"><div class="item_inner"> <div class="entry_area"> <div class="rank_wrap"> <em class="rank">9</em> </div> <div class="tit_wrap"> <div class="tit">공황장애</div> <div class="dsc">서울대학교병원 의학정보</div> </div> </div> </div></a></li> <li class="item_bx"><a href="?where=nexearch&sm=tab_knw&query=%ED%8C%8C%ED%82%A8%EC%8A%A8%EB%B3%91&qdt=0&mra=S0NE" onclick="return goOtherCR(this, 'a=krk_rcd.kwd&r=10&i=&u='+urlencode(this.href))" ondragstart="return false" class="item"><div class="item_inner"> <div class="thumb_area"> <img src="https://search.pstatic.net/common/?src=https%3A%2F%2Fdbscthumb-phinf.pstatic.net%2F1983_000_3%2F20190318185302757_T1J0O9WQ8.jpg%2F20190214_1534_34.jpg%3Ftype%3Dw450_fst_n%23450x420%23c420&type=n110_110" width="48" height="48" class="thumb" alt=""> </div> <div class="entry_area"> <div class="rank_wrap"> <em class="rank">10</em> </div> <div class="tit_wrap"> <div class="tit">파킨슨병</div> <div class="dsc">서울대학교병원 의학정보</div> </div> </div> </div></a></li> </ol> </div> </div> <div class="cmm_pgs"> <a href="#" class="spnew_bf cmm_pg_prev _prev" onclick="return jQuery(this).hasClass('on') ? tCR('a=krk_rcd.leftflp&r=&i=') : false;">이전</a> <span class="cmm_dpgs"> <span title="현재 페이지" data-index="1" class="cmm_dp cmm_dp_on _dot">1</span> <span data-index="2" class="cmm_dp _dot">2</span> </span> <a href="#" class="spnew_bf cmm_pg_next on _next" onclick="return jQuery(this).hasClass('on') ? tCR('a=krk_rcd.rightflp&r=&i=') : false;">다음</a> </div> <div class="entry_date">2022.11.18. 기준<a href="https://help.naver.com/support/alias/search/word/word_30.naver" target="_blank" class="link_help" onclick="return goOtherCR(this, 'a=krk_rcd.help&r=&i=&u='+urlencode(this.href));"><i class="spnew api_ico_help">도움말</i></a></div> </div> </div> </div> </section> <script> (function() { var startApplication = function() { var $base = jQuery("._fe_keyword_hot"); var jsFileName = "https://ssl.pstatic.net/sstatic/au/pc/keyword/Controller_210216.js"; var require = window.require.config({ "context": "_fe_keyword_hot", "paths": { "Controller": jsFileName.replace(/\.js$/, "") } }); define("jquery", [], function() { return jQuery; }); require(["Controller"], function(Controller) { var oKeyword = new Controller({ "$base": $base, }); oKeyword.on({ "change-flicking": function(e) { if (e.isTrusted) { if (e.direction === "NEXT") { tCR('a=krk_rcd.rightflp&r=&i=') } else { tCR('a=krk_rcd.leftflp&r=&i=') } } } }); }); }; var requirejs = naver.common.gv.REQUIRE_JS; naver.common.load_js(window.require ? null : requirejs, startApplication, true, 150); })(); </script> <section class="sc_new"> <div class="api_subject_bx"> <div class="api_common_banner"> <a href="https://m.news.naver.com/covid19/index.nhn" class="spnew_bf item" target="_blank" onclick="return goOtherCR(this, 'a=bnr.link1&r=1&i=&u='+urlencode(this.href));"> <div class="ico_area"><img src="https://ssl.pstatic.net/sstatic/search/mobile/img/ico_common_ban1_40ceb762.png" width="29" height="29" alt="" class="ico"></div> <div class="dsc_area"> <strong class="elss tit">코로나19 현황</strong> <p class="elss dsc">확진 현황 및 백신 접종 정보 안내</p> </div> </a> <a href="?query=%EC%8B%A0%EC%86%8D%ED%95%AD%EC%9B%90%EA%B2%80%EC%82%AC%EA%B8%B0%EA%B4%80&sm=tab_etc&where=nexearch" class="spnew_bf item" onclick="return goOtherCR(this, 'a=bnr.link2&r=2&i=&u='+urlencode(this.href));"> <div class="ico_area"><img src="https://ssl.pstatic.net/sstatic/search/mobile/img/ico_common_ban2_cdf26fbe.png" width="29" height="29" alt="" class="ico"></div> <div class="dsc_area"> <strong class="elss tit">신속항원검사</strong> <p class="elss dsc">내 주변에서 신속하게 검사 받기</p> </div> </a> </div> </div> <div class="api_subject_bx" style="margin-top: 20px;"> <div class="api_common_banner"> <a href="?mra=UlJUX1RJTQ%3D%3D&query=%EA%B5%AD%EB%82%B4%EC%97%AC%ED%96%89%EC%A7%80%EC%B6%94%EC%B2%9C&sm=tab_etc&where=nexearch" class="spnew_bf item" onclick="return goOtherCR(this, 'a=bnr.link3&r=3&i=&u='+urlencode(this.href));"> <div class="ico_area"><img src="https://ssl.pstatic.net/sstatic/search/mobile/img/ico_common_ban3_70e31626.png" width="29" height="29" alt="" class="ico"></div> <div class="dsc_area"> <strong class="elss tit">국내 인기 여행지는 바로 여기</strong> <p class="elss dsc">후회 없는 관광지, 다시 오고 싶은 명소</p> </div> </a> <a href="?mra=UlJUX1RJTQ%3D%3D&query=%EC%97%AC%ED%96%89%EA%B0%80%EB%8A%A5%EA%B5%AD%EA%B0%80&sm=tab_etc&where=nexearch" class="spnew_bf item" onclick="return goOtherCR(this, 'a=bnr.link4&r=4&i=&u='+urlencode(this.href));"> <div class="ico_area"><img src="https://ssl.pstatic.net/sstatic/search/mobile/img/ico_common_ban4_b8f1dad2.png" width="29" height="29" alt="" class="ico"></div> <div class="dsc_area"> <strong class="elss tit">해외에서만 느낄 수 있는 해방감</strong> <p class="elss dsc">반가운 만큼 행복한 해외 여행 떠나기</p> </div> </a> <a href="https://campaign.naver.com/collect_v2/?pcode=naver_pcsearchmktbanner&event_id=channelsearch&target=https%253A%252F%252Fchannelsearch.naver.com%252Fservice%252Fissue04_2%252F" class="spnew_bf item" target="_blank" onclick="return goOtherCR(this, 'a=bnr.link5&r=5&i=&u='+urlencode(this.href));"> <div class="ico_area"><img src="https://ssl.pstatic.net/sstatic/search/mobile/img/ico_common_ban5_0e0838cf.png" width="29" height="29" alt="" class="ico"></div> <div class="dsc_area"> <strong class="elss tit">네이버 SEO, 담당자가 직접 알려드립니다</strong> <p class="elss dsc">검색 최적화의 기술, <채널써치>에서 확인</p> </div> </a> <a href="https://campaign.naver.com/collect_v2/?pcode=naver_pcsearchmktbanner&event_id=navernaverdetails_point&target=https%253A%252F%252Fcampaign.naver.com%252Fnaverdetails%252Fpoint%252F" class="spnew_bf item" target="_blank" onclick="return goOtherCR(this, 'a=bnr.link6&r=6&i=&u='+urlencode(this.href));"> <div class="ico_area"><img src="https://ssl.pstatic.net/sstatic/search/mobile/img/ico_common_ban6_e39e5ee7.png" width="29" height="29" alt="" class="ico"></div> <div class="dsc_area"> <strong class="elss tit">고물가엔 포인트 잘 쌓이는 네이버쇼핑</strong> <p class="elss dsc">포인트 적립백서에서 적립 팁을 확인해보세요</p> </div> </a> </div> </div> </section> <script type="text/javascript"> var nx_cr_right_area_info = [{"n": "krk_rcd", "r": 1},{"n": "bnr", "r": 2}]; </script></div><div class="ly_dimmed"></div> </div> </div><div id="footer"> <div class="sub_pack_btm"> <a href="#" class="top" onclick="window.scrollTo(0,0); document.querySelector('#wrap a').focus(); return false;"><i class="spnew ico_top">맨위로</i></a> </div> <div class="footer_group"> <div class="footer_menu"> <span class="inner"><a href="https://www.naver.com/more.html" target="_blank" onclick="return goOtherCR(this, 'u='+urlencode(this.href)+'&a=fot.sitemap&r=&i=');" class="link">전체서비스</a></span> <span class="inner"><a href="https://policy.naver.com/policy/service.html" target="_blank" onclick="return goOtherCR(this, 'u='+urlencode(this.href)+'&a=fot.policy&r=&i=');" class="link">이용약관</a></span> <span class="inner"><a href="https://policy.naver.com/policy/privacy.html" target="_blank" onclick="return goOtherCR(this, 'u='+urlencode(this.href)+'&a=fot.privacy&r=&i=');" class="link"><strong>개인정보처리방침</strong></a></span> <span class="inner"><a class="link" href="https://help.naver.com/support/alias/search/integration/integration_1.naver" target="_blank" onclick="return goOtherCR(this, 'u='+urlencode(this.href)+'&a=fot.help&r=&i=');">통합검색 고객센터</a></span> <span class="inner"><a href="https://www.navercorp.com/" target="_blank" onclick="return goOtherCR(this, 'u='+urlencode(this.href)+'&a=fot.nhn&r=&i=');" class="link"><i class="ico_footer_logo">© NAVER Corp.</i></a></span> </div> </div> </div> <script type="text/javascript"> /* [PR] 서비스에서 사용하는 클릭로그함수 설정 */ window.__atcmpCR = function(we, el, name, order, areaCode, rank) { var htAreaCode = __ghtAutoCompleteConfig["htAreaCode"]; if (typeof htAreaCode[name] !== "undefined") { var areaCode = htAreaCode[name][0]; var rank = htAreaCode[name][1]; if (areaCode !== "") { tCR("a="+areaCode+"&u="+urlencode(el.href)); /* clickcr(el, areaCode, rank, '', we); */ /* console.log(areaCode + rank); */ } } return false; }; /* [PR] 서비스별로 form submit 전에 처리해야하는 내용은 이곳에 작성해주세요. */ window.__atcmpSubmitBefore = function(elForm) { try { top.nx_form_submit(elForm); } catch (e) { try { nx_form_submit(elForm); } catch (e) {} } }; /* [PR] 각 서비스별 옵션 : 로그인여부는 pr에서 정의필요합니다. */ window.__ghtAutoCompleteConfig = { /* 자동완성 설정 (Top&Bottom) */ "bLogin" : false, /* 로그인 여부 */ "sFromWhere" : "nx", /* 검색 출처 (폼전송시 함께 전송) */ "htApiUrl" : { /* 자동완성 API 정보 */ "sMyKeyword" : 'https://s.search.naver.com/n/mykeyword/search', "sAcKeyword" : "//ac.search.naver.com/nx/ac", "sAcAnsType" : "2" /* 1 : 기존정답형만 lookup (탭검인 경우 1로 설정) */ }, "ahtOption": [ { "sOrder": "asc", /* 정렬방식 (asc/desc) */ "sFormId": "nx_search_form", /* 폼엘리먼트 ID */ "sInputId": "nx_query", /* 입력창 엘리먼트 ID */ "sViewId": "nx_autoframe_top", /* 자동완성 레이어 ID */ "sViewToggleButtonId": "nautocomplete" /* 레이어토글 버튼 ID */ } ], /* 서비스별 클릭영역코드 매핑정보 (sch.xxx: 검색창영역, sug.xxx: 자동완성 영역, sly.xxx: 최근 검색어 영역)*/ "htAreaCode": { "expand": ['sch.expand', '0'], /* 우측 역삼각형 펼침 */ "close": ['sch.close', '0'], /* 우측 역삼각형 접힘 */ "ansdirect": ['sug.ansdirect', ''], /* 정답형 바로가기 (엔터/클릭) */ "sugoff": ['sug.sugoff', ''], /* 자동완성 끄기 클릭 */ "sugon": ['sug.sugon', ''], /* 자동완성 켜기 클릭 */ "plus.use": ['sug.cxon', ''], /* 자동완성 플러스 사용 */ "plus.unuse": ['sug.cxoff', ''], /* 자동완성 플러스 사용안함 */ "saveoff": ['sug.saveoff', ''], /* 검색어저장 끄기 클릭 */ "saveon": ['sug.saveon', ''], /* 검색어저장 켜기 클릭 */ "rx": ['sly.rx', ''], /* 최근검색어 개별삭제 클릭 */ "ralldel": ['sly.ralldel', ''], /* 최근검색어 전체삭제 클릭 */ "kwd.expand": ['sug.plus', ''] /* ↖︎ 버튼 클릭 */ }, /* 서비스별 SM파라미터 매핑정보 * sm파라미터 추가시 https://oss.navercorp.com/sau-pc/naver_autocomplete/issues/19 확인 필요 */ "htSmParam" : { "hty" : 'tab_hty.top', /* sm 파라미터 초기값 */ "htyb" : 'tab_hty.btm', /* sm 파라미터 초기값(검색창 하단) */ "hst" : 'tab_sly.hst', /* 최근검색키워드 */ "prefix" : 'tab_sug', /* sm 파라미터 서비스별 prefix */ "top" : 'tab_sug.top', /* 자동완성키워드 */ "btm" : 'tab_sug.btm', /* 자동완성키워드 (역순) */ "pat" : 'tab_sug.pat', /* 자동완성키워드 (부분자동완성) */ "mbk" : 'tab_sug.mbk', /* 자동완성키워드 (오타교정자동완성) */ "nlq" : 'tab_sug.nlq', /* 자연어검색 */ "asgl" : 'tab_sug.asgl', /* 1국가번호 (한국 국가번호) */ "asga" : 'tab_sug.asga', /* 1국가번호 다른중복지역 */ "aslt" : 'tab_sug.aslt', /* 3로또당첨번호 */ "aspl" : 'tab_sug.aspl', /* 6연금복권당첨번호 */ "astm" : 'tab_sug.astm', /* 7영업시간 (신한은행 영업시간) */ "ast" : 'tab_sug.ast', /* 8전화번호 (국세청 전화번호) */ "ase" : 'tab_sug.ase', /* 9환율 (엔화환율) */ "aswt" : 'tab_sug.aswt', /* 10해외날씨 (일본날씨) */ "asiw" : "tab_sug.asiw", /* 11국내날씨 (서울날씨) */ "asis" : 'tab_sug.asis', /* 12올림픽순위 */ "extension" : 'tab_sug.search', /* 검색기반 자동완성 */ "asct" : "tab_sug.asct" /* 문맥검색키워드 */ } }; </script> <script type="text/javascript"> /* 자동완성 객체 생성 (Top) */ new naver.common.atcmp.naver_web.Controller(__ghtAutoCompleteConfig).attach({ "onOpen": function(){ jQuery("#header_wrap .search_area").addClass("type_write"); }, "onClose": function(){ jQuery("#header_wrap .search_area").removeClass("type_write"); }, "onSelect": function(oCustomEvent) { __atcmpSubmitBefore(oCustomEvent.elForm); }, "onClickLog": function(oCustomEvent) { __atcmpCR(oCustomEvent.event, oCustomEvent.element, oCustomEvent.name, oCustomEvent.order, "", ""); } }); </script> <script> (function () { var startApplication = function () { var url = "https://s.search.naver.com/n/responsive/v1?u=" + encodeURIComponent(location.href) + "&q=" + window.headerfooter_query_encoded + "&p=" + encodeURIComponent(window.g_puid) + "&sscode=" + encodeURIComponent(window.g_ssc); naver.common.responsiveLog = new window.naver.common.ResponsiveLog(); naver.common.responsiveLog.init(url); }; startApplication(); })(); </script> <script> (function() { var startApplication = function () { var jsFile = "https://ssl.pstatic.net/sstatic/au/module/keep/Controller_210512.js"; var require = window.require.config({ "context": "search_common_module", "paths": { "Keep": jsFile.replace(/\.js$/, "") } }); define("jquery", [], function () { return jQuery; }); require(["Keep"], function (Controller) { var oSearchKeep = new Controller({ "api": { "token": "https://apis.naver.com/naverSearchFe/naver_keep/naver_keep", "check": "https://apis.naver.com/naverSearchFe/naver_keep/v1_web_keep_check?type=bookmark&key={=url}", "create": "https://apis.naver.com/naverSearchFe/naver_keep/v1_web_bookmark_create", "delete": "https://apis.naver.com/naverSearchFe/naver_keep/v1_web_keep_delete" }, "loginUrl": "https://nid.naver.com/nidlogin.login?url={=location}" }); oSearchKeep.on({ "create": function (we) { var crLog = we.data("cr-on"); if (crLog) tCR(crLog); }, "delete": function (we) { var crLog = we.data("cr-off"); if (crLog) tCR(crLog); }, "showLayer": function (we) { var crLog = we.data("cr-on"); if (crLog) tCR(crLog); }, "hideLayer": function (we) { var crLog = we.data("cr-off"); if (crLog) tCR(crLog); } }); window.naver.common.gv.searchKeep = oSearchKeep; }); }; naver.common.load_js(window.require ? null : naver.common.gv.REQUIRE_JS, startApplication, true, 150); })(); </script> <script> (function() { var jsFileURL = "https://ssl.pstatic.net/sstatic/fe/sfe/search_video_player2/PcVideoPlayer2_220727.js"; var jsLoadCallback = function() { var require = window.require.config({ "context": "search_common_modules", "paths": { "VideoPlayer2": jsFileURL.replace(/\.js$/, "") } }); require(["VideoPlayer2"], function() { naver.common.VideoPlayer2.AD_SDK_JS = "https://ssl.pstatic.net/tveta/libs/ssp-video/prod/ssp.web.sdk_2.3.0.js"; }); }; var requirejs = naver.common.gv.REQUIRE_JS; naver.common.load_js(window.require ? null : requirejs, jsLoadCallback, true, 50); })(); </script> <script> (function() { var requirejs = naver.common.gv.REQUIRE_JS; var jsFileURL = "https://ssl.pstatic.net/sstatic/fe/sfe/search_audio_player2/AudioPlayer2_220208.js"; var jsLoadCallback = function() { var require = window.require.config({ "context": "search_common_modules", "paths": { "AudioPlayer2": jsFileURL.replace(/\.js$/, "") } }); require(["AudioPlayer2"], function() { naver.common.AudioPlayer2.WEB_PLAYER_JS = "https://static-audiop.pstatic.net/audiocloud-webplayercore/1.1.7.0/js/audiocloud_webplayer_core.js"; }); }; naver.common.load_js(window.require ? null : requirejs, jsLoadCallback, true, 50); })(); </script> <script> (function() { var jsControllerUrl = "https://ssl.pstatic.net/sstatic/fe/sfe/responsiveBlock/pc/Controller_221103.js"; var startApplication = function() { var require = window.require.config({ "context": "search_common_modules", "paths": { "ResponsiveBlock": jsControllerUrl.replace(/\.js$/, "") } }); define("jquery", [], function() { return jQuery; }); require(["ResponsiveBlock"], function(ResponsiveBlock) { new ResponsiveBlock(); }); }; naver.common.load_js(null, startApplication, true, 50); })(); </script> </div> <script type="text/javascript"> (function() { var needFix = navigator.userAgent.toLowerCase().indexOf('webkit') > -1; d = document; if (!needFix || !d.querySelectorAll) return; var toArray = function(list){ var armap=[]; i=0; for(;i<list.length;++i){ armap.push(list[i]); } return Array.prototype.slice.call(armap, 0); } ; window.addEventListener('load', function() { toArray(d.querySelectorAll('#u_skip a')).forEach(function(el) { el.addEventListener('click', function() { var target = d.getElementById(this.href.split('#')[1]); oldTabIndex = target.getAttribute('tabindex'); oldOutlineWidth = d.defaultView.getComputedStyle(target, null).getPropertyValue('outline-width'); target.setAttribute('tabindex', 0); target.style.outlineWidth = 0; target.focus(); if (oldTabIndex === null) target.removeAttribute('tabindex'); else target.setAttribute('tabindex', oldTabIndex); }, false); }); }, false); })(); </script><script type="text/javascript"> if(typeof nx_usain_beacon !== 'undefined') { nx_usain_beacon.add_tag("conn_._TLSv1.3_.:alpn.http/1.1") ; $Fn(function () { nx_usain_beacon.send(); }).attach(window, "load") ; } </script></body> </html>
-. 예시2
curl -X POST "http://0.0.0.0:8080" -d "q=손흥민&n=1" | json_pp
위 코드와 같이 googlesearch serve를 만들어서 손흥민에 관련된 링크를 1개만 가져와줘라고도 말할 수 있습니다.
여기서 -X 는 요청을 보내는 method를 직접 지정해주는 옵션이며, 사용할 서버주소를 string으로 입력하고, -d는 어떤 키워드를 넣을지 옵션으로 지정하는 옵션이고 josn_pp는 json 형식으로 검색 결과를 보여달라는 명령어 입니다.
여기에 -O 옵셥을 이용하여 검색결과를 파일 형식으로도 지정할 수 있습니다.
더 다양한 옵션은 doc(공식문서)를 참조 부탁드립니다.
감사합니다.