웹페이지는 .html 뿐이라고 생각할 수 있지만,
java를 사용하는 경우 동적으로 웹페이지를 불러온다.
대표적인 것이 JSP(Java Server Pages)가 있다.
개발자 도구(크롬 기준 F12)에서 네트워크 탭을 열어 놓은 뒤 웹페이지를 새로 불러오면 .jsp, .ajax, .do 등 많은 것들이 보인다.
import requests as rq # 웹페이지 불러오는 용도
from bs4 import BeautifulSoup # html문서 파싱하는 용도
import time # 트래픽 관리 용도
먼저 목표 site인 https://www.lost112.go.kr에서 분실물 탭을 살펴보자
사이트는 위 처럼 생겼고, 이 때 페이지의 주소는 다음과 같다.
https://www.lost112.go.kr/find/findList.do
=
로 공백 없이 연결하고 인자사이는 &
로 붙여서 전달한다.주소
+ ?
+ 인자
들 로 구성되서 전체 주소를 만든다.split
과 join
으로 key값 변경하기¶head = 'https://www.lost112.go.kr/find/findList.do'
key = 'PRDT_CL_NM=&PRDT_CL_CD01=&PRDT_CL_CD02=&START_YMD=20180612&END_YMD=20180626&PRDT_NM=&DEP_PLACE=&SITE=&PLACE_SE_CD=&FD_LCT_CD=&IN_NM=&ATC_ID=&MDCD=&SRNO=&F_ATC_ID=&pageIndex=1&MENU_NO='
key = [x.split('=') for x in key.split("&")]
key[3][1] = '20180612' # START DATE
key[4][1] = '20180626' # END DATE
key[9][1] = 'LCA000' # LOCALE
key[-2][1] = '1' # PAGE
key = ["=".join(x) for x in key]
key = "&".join(key)
url = head + '?' + key
url
을 head
+ key
로 구성하고, 각 인자들의 값을 바꿀 수 있도록 세팅한다.head = 'https://www.lost112.go.kr/find/findList.do'
key = 'PRDT_CL_NM=&PRDT_CL_CD01=&PRDT_CL_CD02=&START_YMD=20180612&END_YMD=20180626&PRDT_NM=&DEP_PLACE=&SITE=&PLACE_SE_CD=&FD_LCT_CD=&IN_NM=&ATC_ID=&MDCD=&SRNO=&F_ATC_ID=&pageIndex=1&MENU_NO='
split
을 통해 리스트로 쪼개고 값을 넘겨준다.split
사용법:<변수>.split(<구분자>)
> x = "1,2,3,4"
> y = x.split(",")
> y
[1, 2, 3, 4]
&
로 쪼개고, 인자와 값을 쪼개기 위해 =
으로 쪼갠다.key = [x.split('=') for x in key.split("&")]
key[3][1] = '20180612' # START DATE
key[4][1] = '20180626' # END DATE
key[9][1] = 'LCA000' # LOCALE
key[-2][1] = '1' # PAGE
join
을 이용해 다시 문자열로 합쳐준다.join
사용법:<구분자>.join(<변수>)
> x = [1, 2, 3, 4]
> y = "~".join(x)
> y
"1~2~3~4"
split
했으니 두 번 join
해준다. 최종적으로 key
는 다시 하나의 문자열이 된다.key
를 다시 head
와 합쳐 url
을 완성한다.key = ["=".join(x) for x in key]
key = "&".join(key)
url = head + '?' + key
source = rq.get(url)
soup = BeautifulSoup(source.text,'html.parser')
columns = [x.text for x in soup.select('.type01 tr th')]
temp = [x.text.replace("\n","").replace("\t","").replace("\r","") for x in soup.select('.type01 tr td')]
n = 6
rows = [temp[i:i+n] for i in range(0,len(temp),n)]
print(columns)
for row in rows:
print(row)
['관리번호', '습득물명', '분실자명', '보관장소', '연락처', '주운일자'] ['V0002502D06280018', '카카오뱅크 라이언카드', '-', 'CGV(신촌점)', '02-373-2995', '2018-06-26'] ['V0002502D06280016', 'KB 국민카드', '-', 'CGV(신촌점)', '02-373-2995', '2018-06-26'] ['V0002502D06280014', '신한카드', '-', 'CGV(신촌점)', '02-373-2995', '2018-06-25'] ['V0002502D06280012', '신한카드', '-', 'CGV(신촌점)', '02-373-2995', '2018-06-25'] ['V0002502D06280010', '열쇠', '-', 'CGV(신촌점)', '02-373-2995', '2018-06-24'] ['V0002502D06280008', '카페베네 카드', '-', 'CGV(신촌점)', '02-373-2995', '2018-06-24'] ['V0002502D06280006', '주민등록증', '-', 'CGV(신촌점)', '02-373-2995', '2018-06-23'] ['V0002502D06280004', '우리v체크카드', '-', 'CGV(신촌점)', '02-373-2995', '2018-06-23'] ['V0002502D06280002', 'cu멤버쉽&교통카드', '-', 'CGV(신촌점)', '02-373-2995', '2018-06-22'] ['F2018062800002828', '삼성 폴더폰', '-', '서울중부경찰서', '02-3396-9156', '2018-06-19']
requests
에 get
함수를 통해 url과 통신한다.source = rq.get(url)
soup = BeautifulSoup(source.text,'html.parser')
soup
을 살펴보자.Ctrl
+ F
로도 잘 찾는다.soup
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="utf-8"> <meta content="width=device-width, initial-scale=1.0, maximum-scale=5.0, user-scalable=yes" name="viewport"/> <meta content="NOARCHIVE" name="ROBOTS"/> <meta content="IE=Edge" http-equiv="X-UA-Compatible"/> <!-- 추가수정본 180410 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <meta http-equiv="Cache-Control" content="no-cache"/> <meta http-equiv="Expires" content="100"/> <meta http-equiv="Pragma" content="no-cache"/> --> <!-- 주인을 찾아요!(습득물) > 습득물 목록 조회 - 경찰청 유실물 종합관리시스템 --> <title> 주인을 찾아요!(습득물) > 습득물 목록 조회 | 경찰청 유실물 종합관리시스템 </title> <!-- Chrome, Safari, IE --> <link href="/favicon.ico?v=2" rel="shortcut icon" type="image/x-icon"/> <link href="/favicon.ico?v=2" rel="icon" type="image/x-icon"/> <!-- Firefox, Opera (Chrome and Safari say thanks but no thanks) --> <link href="/images/home/common/favicon.ico?v=2" rel="icon"/> <link href="/images/home/common/favicon-16.png" rel="icon" sizes="16x16"/> <link href="/images/home/common/favicon-32.png" rel="icon" sizes="32x32"/> <!-- HOME_NEW 디자인 적용 사용 S--> <link href="/css/home/style.css" media="screen" rel="stylesheet"/> <!-- <link href="/css/home/home_common.css" rel="stylesheet" type="text/css" /> --> <!-- <link href="/css/home/home_main.css" rel="stylesheet" type="text/css" /> --> <!-- <link href="/css/home/home_sub.css" rel="stylesheet" type="text/css" /> --> <!-- <link href="/css/home/home_MetroJs.css" rel="stylesheet" type="text/css" /> --> <!-- 퀵메뉴참조 --> <!-- LOST112_CDH 신규추가 다음주소API--> <script src="https://spi.maps.daum.net/imap/map_js_init/postcode.v2.js"></script> <!--[if lt IE 9]> <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]> <!--[if lt IE 9]> <script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script> <![endif]> <!--[if lt IE 8]> <script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE8.js"></script> <![endif]> <!--[if lt IE 7]> <script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE7.js"></script> <![endif]--> <script> //ie8이하에서 html5 태그가 허용되도록 변경 document.createElement('header'); document.createElement('nav'); document.createElement('article'); document.createElement('section'); document.createElement('aside'); document.createElement('footer'); </script> <script src="/js/jquery-1.7.1.min.js" type="text/javascript"></script> <!-- HOME_NEW 디자인 적용 사용 E--> <script src="/js/jquery-1.9.0.min.js" type="text/javascript"></script> <script src="/js/jquery-latest.js" type="text/javascript"></script> <script src="/js/lost112.js" type="text/javascript"></script> <script src="/include/policeHelper.js" type="text/javascript"></script> <script src="/include/EgovMultiFile.js" type="text/javascript"></script> <script src="/js/common.js" type="text/javascript"></script> <script src="/include/policeOnloader.js" type="text/javascript"></script> <meta content="text/html; charset=utf-8" http-equiv="Content-Type"/> <script src="/js/jquery.carouFredSel-5.5.0-packed.js" type="text/javascript"></script> <script src="/js/home/ui.js" type="text/javascript"></script> <script src="/js/home/calendar.js" type="text/javascript"></script> <!-- 색상 --> <script src="/js/color/iColorPicker.js" type="text/javascript"></script><!-- 2016-01-14추가 --> <!-- 로딩바spin--> <script src="/js/spin.js" type="text/javascript"></script> <script src="/js/spin.min.js" type="text/javascript"></script> <script src="/js/jquery.spin.js" type="text/javascript"></script> <!-- 그래픽 화면--> <script src="/js/amcharts/amcharts.js" type="text/javascript"></script> <script src="/js/amcharts/pie.js" type="text/javascript"></script> <!-- 화면 확대 축소 화면--> <script src="/js/accessible.js" type="text/javascript"></script> <!-- HOME_NEW 디자인 적용 사용 S--> <script src="/js/MetroJs/bundles/home_MetroJs.lt.js" type="text/javascript"></script> <script type="text/javascript"> $(document).ready(function() { $(".live-tile,.flip-list").liveTile(); }); </script> <style type="text/css"> @import url(https://fonts.googleapis.com/earlyaccess/jejugothic.css); @import url(https://fonts.googleapis.com/earlyaccess/jejuhallasan.css); .jg {font-family: 'Jeju Gothic';} .jh {font-family: 'Jeju Hallasan';} </style> <!-- HOME_NEW 디자인 적용 사용 E--> <script type="text/javascript"> <!-- function setCookie( name, value, expiredays ) { var todayDate = new Date(); todayDate.setDate( todayDate.getDate() + expiredays ); document.cookie = name + "=" + escape( value ) + "; path=/; expires=" + todayDate.toGMTString() + ";" } function closePop() { if ( document.pop_form.chkbox.checked ){ setCookie( "maindiv", "done" , 1 ); } document.all['pop'].style.visibility = "hidden"; } //--> </script> <script type="text/javascript"> //<![CDATA[ /* SELECT의 OPTION을 조회한다. @param id - SELECT객체의 ID @param code - 조회시 필요한 parameter @param menuId - SQL관련 KEY @param defaultValue - 조회 후 기본 선택값 */ function fnSelect(id, code, menuId, defaultValue) { url = "/ajaxCodeSelect.do"; data = "ajaxParam1="+code+"&menuId="+menuId; ajaxSelect(url, data, id, defaultValue, 'select'); } function fnSelectNew(id, code, menuId, defaultValue) { url = "/ajaxCodeSelect.do"; data = "menuId="+menuId+"&"+code; ajaxSelect(url, data, id, defaultValue, 'select'); } function fnPage(id, code, menuId, preHtml) { url = "/ajaxPage.do"; data = "ajaxParam1="+code+"&menuId="+menuId; ajaxPage(url, data, id, preHtml); } function fnValue(id, code, menuId, preHtml) { url = "/ajaxPage.do"; data = "ajaxParam1="+code+"&menuId="+menuId; ajaxValue(url, data, id, preHtml); } function fnValues(id, code1, code2, menuId, preHtml) { url = "/ajaxPages.do"; data = "ajaxParam1="+code1+"&ajaxParam2="+code2+"&menuId="+menuId; ajaxValues(url, data, id, preHtml,true); } /* 호출하는 .jsp파일에게 불린다. 파라미터 받아서 ajaxLayer.do 컨트롤러를 호출하고 ajaxCodeLayer 에 접근한다. 2014.08.26 YMYOON */ function fnLayer(id, code, menuId, defaultValue){ url = "/ajaxLayer.do"; data = "ajaxParam1="+code+"&menuId="+menuId+"&gubun="+defaultValue; ajaxCodeLayer(url, data, id, defaultValue); } // function fnLayer(id, code, menuId, defaultValue, layerNum){ // url = "/ajaxLayer.do"; // data = "ajaxParam1="+code+"&menuId="+menuId+"&layerNum="+layerNum; // ajaxCodeLayer(url, data, id, defaultValue); // } function fnBanner(id, sqlKey, defaultValue) { url = "/ajaxBanner.do"; data = "sqlKey="+sqlKey; ajaxBanner(url, data, id, defaultValue); } // fnPopup원본 // function fnPopup(id, code, menuId, defaultValue){ // url = "/popup.do"; // data = "&POPUP_ID="+menuId; // ajaxPopupLayer(url, data, id, defaultValue); // } function fnPopup(){ // url = "/popup.do"; // data = "&POPUP_ID="+menuId; // ajaxPopupLayer(url, data, id, defaultValue); } function fnDate(strDateObj,endDateObj){ var strDate = strDateObj.val(); var endDate = endDateObj.val(); var str = strDate.replace(/\s/g,''); var end = endDate.replace(/\s/g,''); bRtn = true; if((str == strDate)&&(end == endDate)){ if( (strDate != "" && strDate != null )||(endDate != "" && endDate != null) ) { if(strDate.length != '8' || endDate.length != '8'){ if (strDate.length != '8'){ bRtn = false; alert("검색 시작일을 선택하여 주십시오. \n ex) 20151011"); strDateObj.focus(); } else if (endDate.length != '8'){ bRtn = false; alert("검색 종료일을 선택하여 주십시오. \n ex) 20151011"); endDateObj.focus(); } }else if(strDate>endDate){ alert("시작일이 종료일보다 클 수 없습니다."); strDateObj.focus(); bRtn = false; } }else{ if (strDate == "" || strDate == null ){ bRtn = false; alert("검색 시작일을 선택하여 주십시오. \n ex) 20151011"); strDateObj.focus(); }else if (endDate == "" || endDate == null){ bRtn = false; alert("검색 종료일을 선택하여 주십시오. \n ex) 20151011"); endDateObj.focus(); } } }else{ alert("기간을 선택하여 주십시오. \n ex) 20151012"); strDateObj.focus(); bRtn = false; } return bRtn; } // 색상코드 -------------------------------------------------------------------------------------------------------------------------------------------------- var colorIdArr = [ 'CL1012','CL1013','CL1014','CL1015','CL1016','CL1017','CL1018','CL1019','CL1020','CL1021','CL1022','CL1023','CL1024','CL1025','CL1026','CL1027', 'CL1028','CL1029','CL1030','CL1031','CL1032','CL1033','CL1034','CL1035','CL1036','CL1037','CL1038','CL1039','CL1040','CL1041','CL1042','CL1043', 'CL1044','CL1045','CL1046','CL1047','CL1048','CL1049','CL1050','CL1051','CL1052','CL1053','CL1054','CL1055','CL1056','CL1057','CL1058','CL1059', 'CL1060','CL1061','CL1062','CL1063','CL1064','CL1065','CL1066','CL1067','CL1068','CL1069','CL1070','CL1071','CL1072','CL1073','CL1074','CL1075', 'CL1076','CL1077','CL1078','CL1079','CL1080','CL1081','CL1082','CL1083','CL1084','CL1085','CL1086','CL1087','CL1088','CL1089','CL1090','CL1091', 'CL1092','CL1093','CL1094','CL1095','CL1096','CL1097','CL1098','CL1099','CL1100','CL1101','CL1102','CL1103','CL1104','CL1105','CL1106','CL1107', 'CL1108','CL1109','CL1110','CL1111','CL1112','CL1113','CL1114','CL1115','CL1116','CL1117','CL1118','CL1119','CL1120','CL1121','CL1122','CL1123', 'CL1001','CL1002','CL1003','CL1004','CL1005','CL1006','CL1007','CL1008','CL1009','CL1011','CL1010' ]; var hexIdArr = [ 'f00', 'ff0', '0f0', '0ff', '00f', 'f0f', 'fff', 'ebebeb', 'e1e1e1', 'd7d7d7', 'ccc', 'c2c2c2', 'b7b7b7', 'acacac', 'a0a0a0', '959595', 'ee1d24', 'fff100', '00a650', '00aeef', '2f3192', 'ed008c', '898989', '7d7d7d', '707070', '626262', '555', '464646', '363636', '262626', '111', '000', 'f7977a', 'fbad82', 'fdc68c', 'fff799', 'c6df9c', 'a4d49d', '81ca9d', '7bcdc9', '6ccff7', '7ca6d8', '8293ca', '8881be', 'a286bd', 'bc8cbf', 'f49bc1', 'f5999d', 'f16c4d', 'f68e54', 'fbaf5a', 'fff467', 'acd372', '7dc473', '39b778', '16bcb4', '00bff3', '438ccb', '5573b7', '5e5ca7', '855fa8', 'a763a9', 'ef6ea8', 'f16d7e', 'ee1d24', 'f16522', 'f7941d', 'fff100', '8fc63d', '37b44a', '00a650', '00a99e', '00aeef', '0072bc', '0054a5', '2f3192', '652c91', '91278f', 'ed008c', 'ee105a', '9d0a0f', 'a1410d', 'a36209', 'aba000', '588528', '197b30', '007236', '00736a', '0076a4', '004a80', '003370', '1d1363', '450e61', '62055f', '9e005c', '9d0039', '790000', '7b3000', '7c4900', '827a00', '3e6617', '045f20', '005824', '005951', '005b7e', '003562', '002056', '0c004b', '30004a', '4b0048', '7a0045', '7a0026', 'fff','000','f00','ff8000','ff0','0f0','00f','a52a2a','ee82ee','ffc0cb','fff' ]; var colorNmArr = [ '레드(빨강)','엘로우(노랑)','그린(초록)','터키오이스(옥)','블루(파랑)','마젠타(자홍)','화이트(흰)','그레이(회)','그레이(회)','라이트그레이(옅은회)','그레이(회)','실버(은)','그레이(회)','그레이(암회)','그레이(회)','그레이(회)', '알리자린(홍)','엘로우(노랑)','그린(초록)','시안(청록)','블루(파랑)','핑크(분홍)','그레이(회)','그레이(회)','그레이(회)','그레이(회)','그레이(회)','그레이(회)','그레이(회)','그레이(회)','그레이(회)','블랙(검정)', '코럴(산호)','코럴(산호)','피치오렌지(오렌지)','엘로우(밝은노랑)','라임(라임)','네온그린(형광초록)','씨그린(노르스름한녹)','시안(청록)','딥스카이블루(새파란하늘)','코발트(짙은청록)','로열블루(밝은남)','블루(파랑)','바이올렛(보라)','퓨시아(자홍)','핑크(연한핑크)','레드(연한레드)', '코럴(산호)','코럴(산호)','오렌지(연한오렌지)','엘로우(밝은노랑)','샤르트뢰즈(역녹)','그린(초록)','씨그린(노르스름한녹)','스트롱시안(진한청록)','딥스카이블루(새파란하늘)','코발트(밝은남)','로열블루(밝은남)','블루(어두운파랑)','바이올렛(보라)','퓨시아(자홍)','핑크(연한핑크)','레드(연한빨강)', '알리자린(홍)','코럴(산호)','오렌지(선명한오렌지)','엘로우(노랑)','샤르트뢰즈(역녹)','에메랄드(선녹)','그린(초록)','다크시안(어두운청록)','딥스카이블루(새파란하늘)','코발트(짙은청록)','코발트(짙은청록)','블루(파랑)','바이올렛(보라)','퓨시아(자홍)','핑크(분홍)','핑크(선명한분홍)', '다크레드(진빨강)','코럴(산호)','다크오렌지(어두운오렌지)','올리브(녹갈)','샤르트뢰즈(역녹)','에메랄드(선녹)','라임그린(어두운청록)','다크시안(어두운청록)','다크블루(어두운파랑)','코발트(짙은청록)','코발트(짙은청록)','블루바이올렛(남보라)','다크바이올렛(진보라)','퓨시아(자홍)','다크핑크(진분홍)','다크핑크(진분홍)', '다크레드(진빨강)','브라운(갈)','브라운(갈)','올리브(녹갈)','샤르트뢰즈(역녹)','에메랄드(선녹)','라임그린(어두운청록)','다크시안(어두운청록)','다크블루(어두운파랑)','코발트(짙은청록)','로열블루(밝은남)','블루바이올렛(남보라)','다크바이올렛(진보라)','퓨시아(자홍)','다크핑크(진분홍)','다크레드(진빨강)', '화이트(흰)','블랙(검정)','레드(빨강)','오렌지(주황)','엘로우(노랑)','그린(초록)','블루(파랑)','브라운(갈)','바이올렛(보라)','핑크(분홍)','기타' ]; // 배열에서 해당 idx 구하기 function in_array(val, arr){ for(i=0; i<arr.length; i++){ if(arr[i] == val){ return i; } } return -1; } // 색상 코드값으로 색상이름 구하기 function fn_color_nm1(colorId){ var colorId = colorId.substr(1, colorId.length-1); var idx = in_array(colorId, hexIdArr); $( "#CLR_NM" ).val(colorNmArr[idx]); // 색상이름값 셋팅 $( "#CLR_CD" ).val(colorIdArr[idx]); // 색상코드값 셋팅 } // 색상 코드값으로 색상이름 구하기 function fn_color_nm2(colorId, name, type){ var idx = in_array(colorId, colorIdArr); if(type == 'update'){ // 수정을 클릭했을 경우 $( "#"+name).val(colorNmArr[idx]); $("#CLR_CD").val(colorId); $("#CLR_HEX_CD").val("#"+hexIdArr[idx]); $("#CLR_HEX_CD").css("background-color","#"+hexIdArr[idx]); } else{ // 상세화면일 경우 $( "#"+name).html(colorNmArr[idx]); $("#CLR_CD").val(colorId); $("#CLR_HEX_CD").val("#"+hexIdArr[idx]); $("#CLR_HEX_CD").css("background-color","#"+hexIdArr[idx]); $("#icp_CLR_HEX_CD").remove(); } } // ]]> // LOST112_CDH(20170613) 주소검색 버튼 클릭 다음API를 이용한 주소검색 function fnDaumAddrApi(zp_cd, addr, addr_dtl){ new daum.Postcode({ oncomplete: function(data) { // 팝업에서 검색결과 항목을 클릭했을때 실행할 코드를 작성하는 부분. // 각 주소의 노출 규칙에 따라 주소를 조합한다. // 내려오는 변수가 값이 없는 경우엔 공백('')값을 가지므로, 이를 참고하여 분기 한다. var fullAddr = ''; // 최종 주소 변수 var extraAddr = ''; // 조합형 주소 변수 // 사용자가 선택한 주소 타입에 따라 해당 주소 값을 가져온다. if (data.userSelectedType === 'R') { // 사용자가 도로명 주소를 선택했을 경우 fullAddr = data.roadAddress; } else { // 사용자가 지번 주소를 선택했을 경우(J) fullAddr = data.jibunAddress; } // 사용자가 선택한 주소가 도로명 타입일때 조합한다. if(data.userSelectedType === 'R'){ //법정동명이 있을 경우 추가한다. if(data.bname !== ''){ extraAddr += data.bname; } // 건물명이 있을 경우 추가한다. if(data.buildingName !== ''){ extraAddr += (extraAddr !== '' ? ', ' + data.buildingName : data.buildingName); } // 조합형주소의 유무에 따라 양쪽에 괄호를 추가하여 최종 주소를 만든다. fullAddr += (extraAddr !== '' ? ' ('+ extraAddr +')' : ''); } // 우편번호와 주소 정보를 해당 필드에 넣는다. document.getElementById(zp_cd).value = data.zonecode; //5자리 새우편번호 사용 document.getElementById(addr).value = fullAddr; // 커서를 상세주소 필드로 이동한다. document.getElementById(addr_dtl).focus(); } }).open(); } </script> <!-- flush="true" --> </meta></head> <body id="none"> <div id="wrap"> <!--// Header --> <style> .uin_focus {border: 3px solid red;} .uout_focus {border: 0px;} </style> <!--[if lte IE 8]> <p> 사용하고 계신 브라우저는 Internet Explore 8 이하입니다.<br /> <strong>경찰청 유실물 종합관리 시스템 홈페이지는 Internet Explore 9 이상에서 최적화 되어 있습니다.</strong> 웹 브라우저를 <a href="http://www.microsoft.com/korea/ie">업그레이드</a> 해 보세요.<br /> 다른 최신 브라우저를 사용해 보셔도 좋습니다! <a href="http://www.mozilla.or.kr/ko/Firefox/">fireFox</a>, <a href="http://kr.opera.com/download/">opera</a>, <a href="http://www.apple.com/kr/safari/">Safari</a>, <a href="http://www.google.com/chrome?hl=ko">chrome</a> </p> <![endif]--> <noscript>스크립트가 지원되지 않는 환경입니다. 일부기능이 작동안될 수 있습니다.</noscript> <input id="rootUrl" type="hidden" value=""/> <script type="text/javascript"> //<![CDATA[ var selectedMainMenuNo = ""; var selectedSubMenuNo = ""; $(document).ready(function(){ // if($("#totalSearch").val() != ""){ // $("#totalSearch").addClass("focusnot"); // }else{ // $("#totalSearch").removeClass("focusnot"); // } $("#totalSearch").keydown(function(){ if(event.keyCode == 13){ $('#mainSearch').click(); } }); $('#mainSearch').click(function(){ //$('#loading').fadeIn(150); // $('#loading_spin').spin('large','gray'); // document.frmMainTopSearch.action = "/searchIndex.do"; document.frmMainTopSearch.action = "/lost/toTalSearch.do"; document.frmMainTopSearch.submit(); }); // $('#go_language').click(function(){ // if($('#sl_language').val() == 'English'){ // fn_manyLanguages('English'); // }else if($('#sl_language').val() == 'Japanese'){ // fn_manyLanguages('Japanese'); // }else if($('#sl_language').val() == 'Chinese'){ // fn_manyLanguages('Chinese'); // } // }); $('button.go_select').click(function(){ var fUrl = $(this).parent().find('select option:selected').val(); window.open(fUrl,'_blank'); }); }); /*다국어 사이트 바로가기 Controller로 변경(다국어 사이트 접속 카운트 위해) */ function fn_manyLanguages(target){ if(target == 'English'){ window.open("/manyLanguage.do?langType=en"); }else if(target == 'Japanese'){ window.open("/manyLanguage.do?langType=jp"); }else if(target == 'Chinese'){ window.open("/manyLanguage.do?langType=ch"); } } $('#btn').click(function(){ $add(document.commandMap, 'IN_RES_NO', $('#RES_NO1').val()+$('#RES_NO2').val()); tform = document.commandMap; window.open("","new_popup1","height=700,width=900,scrollbars=yes"); tform.target = "new_popup1"; tform.action = "/reportProc.do?REPORT_ID=lostProcRpt"; tform.method = "post"; tform.submit(); tform.target = ""; }); function fn_login(val){ if(val=="Y"){ var resNoYn = ""; if(resNoYn == "" || resNoYn == null){ window.location = "/html.do;jsessionid=zfZUKGE3RyFAVs0YQ0Poa30PEJI1GC45dacJvYO318DuaC910jn0a3ASTEv1WNqp.found02_servlet_www?html=/lost/firstNameCheck&sub=LS&title=분실물&ptitle=실명인증"; }else{ window.location = "/html.do;jsessionid=zfZUKGE3RyFAVs0YQ0Poa30PEJI1GC45dacJvYO318DuaC910jn0a3ASTEv1WNqp.found02_servlet_www?html=/lost/addLostView&sub=LS&title=분실물&ptitle=분실물신고"; } }else{ alert("로그인이 필요한 페이지입니다."); window.location = "/html.do;jsessionid=zfZUKGE3RyFAVs0YQ0Poa30PEJI1GC45dacJvYO318DuaC910jn0a3ASTEv1WNqp.found02_servlet_www?html=/member/login&sub=U&title=회원마당&ptitle=로그인"; } } function fn_loginMyPage(val){ if(val=="Y"){ window.location = "/html.do;jsessionid=zfZUKGE3RyFAVs0YQ0Poa30PEJI1GC45dacJvYO318DuaC910jn0a3ASTEv1WNqp.found02_servlet_www?html=/mypage/myLostList.do"; }else{ alert("로그인이 필요한 페이지입니다."); window.location = "/html.do;jsessionid=zfZUKGE3RyFAVs0YQ0Poa30PEJI1GC45dacJvYO318DuaC910jn0a3ASTEv1WNqp.found02_servlet_www?html=/member/login&sub=U&title=회원마당&ptitle=로그인"; } } function fn_login2(){ window.location = "/html.do;jsessionid=zfZUKGE3RyFAVs0YQ0Poa30PEJI1GC45dacJvYO318DuaC910jn0a3ASTEv1WNqp.found02_servlet_www?html=/dms-sample/sample_regInput"; } $('#mainSearch').click(function(){ searchPro(0,1,0); }); function fn_findHpInfo(){ window.open("https://www.handphone.or.kr/lost112/ph1_search_lost112_pop.php", "popupModelCode", "scrollbars=yes, resizable=no, location=yes, width=500,height=500"); } function fn_menuMove(url){ //$('#loading').fadeIn(150); $('#loading_spin').spin('large','gray'); document.headerMap.action = url; document.headerMap.submit(); } function toggleFocus(el) { console.log(el.className); el.className = "uin_focus"; console.log(el); } function fn_clickMenu(menuNo, url, loginYn){ // alert(menuNo+"============="+url+"============="+loginYn) $('#loading_spin').spin('large','gray'); if ( loginYn == 'Y' ){ alert("로그인이 필요한 페이지입니다."); window.location = "/html.do;jsessionid=zfZUKGE3RyFAVs0YQ0Poa30PEJI1GC45dacJvYO318DuaC910jn0a3ASTEv1WNqp.found02_servlet_www?html=/member/login&sub=U&title=회원마당&ptitle=로그인"; return ; }else if(menuNo == 'EXCEPTION' && loginYn == 'N'){ alert("로그아웃 후 사용가능한 페이지입니다."); $('#loading_spin').data('spinner').stop(); return ; } document.headerMap.action = url; document.headerMap.submit(); } //]]> </script> <!-- 헤더 영역 --> <div class="d_direct" id="accessibility"> <a class="link_direct" href="#lost112_body">본문 바로가기</a> <!-- skip_contents -> link_direct --> <a class="link_direct" href="#lost112_main_menu">메뉴 바로가기</a> <!-- skip_menu -> link_direct --> </div> <header> <!-- gnb --> <div id="gnb"> <!-- gnb_wrap1 --> <div class="gnb_wrap1"> <ul class="accessible"> <li class="access_mark"><img alt="장애인마크" src="/images/home/common/accessible_icon.png"/></li> <li class="access_size">글자크기</li> <li class="access_zoomout"><button onclick="javascript:zoomcontrol.zoomout();" title="폰트 작게">-</button></li> <li class="access_zoomreset"><button onclick="javascript:zoomcontrol.zoomreset();" title="기본설정으로 돌아가기">100%</button></li> <li class="access_zoomin"><button onclick="javascript:zoomcontrol.zoomin();" title="폰트 크게">+</button></li> <li class="access_contrast"><button class="dark" title="고대비설정"> <img alt="고대비설정" src="/images/home/common/accessible_contrast.png"/> </button></li> </ul> <ul class="gnb_lang"> <li><a class="icons_kor" href="/index.do">한국어</a></li> <li><a class="icons_eng" href="/manyLanguage.do?langType=en" target="_blank">ENGILISH</a></li> <li><a class="icons_jap" href="/manyLanguage.do?langType=jp" target="_blank">日本語</a></li> <li><a class="icons_chi" href="/manyLanguage.do?langType=ch" target="_blank">中文</a></li> </ul> <!-- gnb_loginmenu --> <div class="gnb_loginmenu"> <ul> <!-- 2016-11-11 추가 및 수정 --> <li><a class="gnb_login" href="javascript:fn_clickMenu('MENU5400','/html.do?html=/member/login&sub=U&title=회원마당&ptitle=로그인&MENU_NO=MENU5400','N');">로그인</a></li> <li><a class="gnb_join" href="javascript:fn_clickMenu('MENU5200','/member/useClause.do?1=1&MENU_NO=MENU5200','N');">회원가입</a></li> <li><a class="gnb_join" href="javascript:fn_clickMenu('a','','Y');">1:1 문의</a></li> <li><a class="gnb_sitemap" href="javascript:fn_menuMove('/html.do?html=/minwon/sitemap&sub=M&title=정보마당&ptitle=사이트맵')">사이트맵</a></li> </ul> </div> <!-- //gnb_loginmenu --> </div> <!-- //gnb_wrap1 --> </div> <!-- //gnb --> <!-- gnb_wrap2 --> <div class="gnb_wrap2"> <!-- search_wrap --> <div class="search_wrap"> <h1 class="logo"> <a href="/index.do" id="logoimg"><img alt="LOST112 경찰청 유실물 통합포털" src="/images/home/common/logo.png"/></a> </h1> <form action="#none" id="frmMainTopSearch" method="post" name="frmMainTopSearch"> <fieldset> <legend>통합검색</legend> <!-- searchWrap --> <div class="searchWrap"> <!-- search --> <div class="search"> <!-- search-box --> <div class="search-box"> <!-- <span class="search_type"> --> <!-- <select id="searchCate1" name="searchCate" class="searchCate1"> --> <!-- <option value="0">통합검색</option> --> <!-- <option value="1">습득물</option> --> <!-- <option value="2">분실물</option> --> <!-- <option value="3">타기관 습득물</option> --> <!-- <option value="4">타기관 분실물</option> --> <!-- </select> --> <!-- </span> --> <label class="hidden" for="totalSearch">검색입력폼</label> <input class="input_query" id="totalSearch" name="totalSearch" type="text"/> </div> <!-- //search-box --> <button id="mainSearch" name="mainSearch" title="통합검색" type="button">검색</button> </div> <!-- //search --> </div> <!-- //searchWrap --> </fieldset> </form> <!-- sns_menu --> <div class="sns_menu"> <ul class="sns_icon"> <li><a class="icon_twitter" href="https://twitter.com/lost112kr" target="_blank"><img alt="트위터" src="/images/home/common/icon_twitter.png"/></a></li> <li><a class="icon_facebook" href="https://www.facebook.com/lost112kr" target="_blank"><img alt="페이스북" src="/images/home/common/icon_facebook.png"/></a></li> <li><a class="icon_kakao" href="#none" target="_blank"><img alt="카카오페이지" src="/images/home/common/icon_kakao.png"/></a></li> <li><a class="icon_instra" href="https://www.instagram.com/lost112kr/" target="_blank"><img alt="인스타그램" src="/images/home/common/icon_insta.png"/></a></li> </ul> <p class="182_logo"> <img alt="경찰민원콜센터 국번없이 182" src="/images/home/common/182_logo.png"/> </p> </div> <!-- //sns_menu --> </div> <!-- search_wrap --> </div> <!-- //gnb_wrap2 --> <h2 class="screen_out" id="lost112_main_menu" tabindex="-1">경찰청 유실물 종합관리시스템 메인메뉴</h2> <nav id="gnb_menu"> <ul class="gnb_menu"> <li> <a class="mainMenu_unselect" href="javascript:fn_menuMove('/html.do;jsessionid=zfZUKGE3RyFAVs0YQ0Poa30PEJI1GC45dacJvYO318DuaC910jn0a3ASTEv1WNqp.found02_servlet_www?html=/prevent/lostDeclare&sub=F&title=유실물종합안내&ptitle=유실물신고절차')"><span>유실물 종합안내</span></a> </li> <li> <a class="mainMenu_unselect" href="javascript:fn_menuMove('/find/findList.do')"><span>주인을 찾아요! (습득물)</span></a> </li> <li> <a class="mainMenu_unselect" href="javascript:fn_menuMove('/lost/lostList.do')"><span>잃어버렸나요? (분실물)</span></a> </li> <li> <a class="mainMenu_unselect" href="javascript:fn_menuMove('/minwon/notice/noticeList.do')"><span>정보마당</span></a> </li> <li> <a class="mainMenu_unselect" href="javascript:fn_menuMove('/member/clauseView.do')"><span>회원마당</span></a> </li> <li> <a class="mainMenu_unselect" href="javascript:fn_clickMenu('MENU6000','','Y');"><span>마이페이지</span></a> </li> </ul> </nav> </header> <form action="#none" id="headerMap" method="post" name="headerMap"> </form> <!-- 헤더 영역 끝 --> <!-- Header //--> <!--// container --> <!-- sub_wrapper --> <div id="sub_wrapper"> <!-- 추가 도움말 영역 --> <!-- <div class="hatena-box"> --> <!-- <a href="#" target="_blank"><img src="/images/home/common/hatena.gif" alt="도움말" /></a> --> <!-- </div> --> <!--// 레프트메뉴 --> <div id="smenu" tabindex="-1"> <!-- lnb --> <nav id="sub_lnb"> <h1 class="l_subtitle"><span>습득물</span></h1> <ul> <li><a class="subMenu_select" href="javascript:fn_menuMove('/find/findList.do');">습득물 검색</a></li> <li><a class="subMenu_select" href="javascript:fn_menuMove('/phone/phoneList.do');">습득물 휴대폰 검색</a></li> <li><a class="go_select" href="https://www.handphone.or.kr" target="_blank">핸드폰찾기콜센터 검색</a></li> <li><a class="subMenu_select" href="javascript:fn_menuMove('/find/findLinkList.do');">미참여기관 습득물 조회</a></li> </ul> </nav> </div> <!-- 레프트메뉴 //--> <!--// contents --> <h2 class="screen_out" id="lost112_body" tabindex="0">경찰청 유실물 종합관리시스템 본문</h2> <script type="text/javascript"> $(document).ready(function() { fnSelect('fdLctCd', 'LC0', '', "LCA000"); fnSelect('placeSeCd', 'LL1', '', ""); // fnSelect('PLACE_SE_CD', 'LL1', ''); // // if(= 'F' ){ // // } $('#site').val(''); $("#classification_name").hide(); fnLayer('classification_name', '', 'prdt_all'); // 검색 버튼 클릭 $('#searchMain').click(function() { fnDate($('#startYmdInput'),$('#endYmdInput')); if (bRtn == false) { return bRtn; } fn_find_selectList(); }); // 최근 습득물 현황 좌측 버튼 클릭 $('.list_prev').click(function() { fn_imgLeft(); }); // 최근 습득물 현황 우측 버튼 클릭 $('.list_next').click(function() { fn_imgRight(); }); }); /* 글 목록 화면 function */ function fn_find_selectList() { //$('#loading').fadeIn(150); $('#loading_spin').spin('large', 'gray'); document.commandMap.action = "/find/findList.do;jsessionid=zfZUKGE3RyFAVs0YQ0Poa30PEJI1GC45dacJvYO318DuaC910jn0a3ASTEv1WNqp.found02_servlet_www"; /*LOST112_JCG(2014-03-26) 관리번호 검색조건 유지를 위해 사용자 입력을 F_ATC_ID 라는 name으로 새로이 받는다.*/ // alert($("#ATC_ID").val()); $add(document.commandMap, 'F_ATC_ID', $("#ATC_ID").val()); $add(document.commandMap, 'pageIndex', 1); //2016-11-11 추가 [현재 페이지 LNB영역 매칭 코드 추가] $add(document.commandMap, 'MENU_NO', ''); document.commandMap.submit(); } /* 습득물 상세정보 화면 function */ function fn_find_detail(id, fs) { //$('#loading').fadeIn(150); $('#loading_spin').spin('large', 'gray'); /*LOST112_JCG(2014-03-26) 관리번호 검색조건 유지를 위해 사용자 입력을 F_ATC_ID 라는 name으로 새로이 받는다.*/ $add(document.commandMap, 'F_ATC_ID', $("#ATC_ID").val()); $add(document.commandMap, 'ATC_ID', id); $add(document.commandMap, 'FD_SN', fs); //2016-11-11 추가 [현재 페이지 LNB영역 매칭 코드 추가] $add(document.commandMap, 'MENU_NO', ''); document.commandMap.action = "/find/findDetail.do;jsessionid=zfZUKGE3RyFAVs0YQ0Poa30PEJI1GC45dacJvYO318DuaC910jn0a3ASTEv1WNqp.found02_servlet_www"; document.commandMap.submit(); } // 최근 습득물 현황 이동 버튼 //LOST112_CDH(2015-02-27) var old = 0; var num = 0; function fn_imgRight() { num = old - 1; if (num >= -5) { $("#imgList ul").animate({ left : parseInt($("#imgList ul li").eq(0).width() * -1) }, 300, function() { $("#imgList ul").css("left", "0px"); $("#imgList ul li").eq(0).clone().appendTo($("#imgList ul")); $("#imgList ul li").eq(0).remove(); }); old = num; } } function fn_imgLeft() { var leng = $("#imgList ul li").size(); num = old + 1; if (num <= 0) { $("#imgList ul").animate( { left : 0 }, 300, function() { $("#imgList ul").css("left", "0px"); // $("#imgList ul").css("left", parseInt($("#imgList ul li").eq(0).width() * -1)); $("#imgList ul li").eq(parseInt(leng - 1)).clone().prependTo($("#imgList ul")); $("#imgList ul li").eq(leng).remove(); }); old = num; } } /* pagination 페이지 링크 function */ function fn_find_link_page(pageNo) { fnDate($('#startYmdInput'),$('#endYmdInput')); if (bRtn == false) { return false; } //$('#loading').fadeIn(150); $('#loading_spin').spin('large', 'gray'); $add(document.commandMap, 'pageIndex', pageNo); //2016-11-11 추가 [현재 페이지 LNB영역 매칭 코드 추가] $add(document.commandMap, 'MENU_NO', ''); document.commandMap.action = "/find/findList.do;jsessionid=zfZUKGE3RyFAVs0YQ0Poa30PEJI1GC45dacJvYO318DuaC910jn0a3ASTEv1WNqp.found02_servlet_www"; document.commandMap.submit(); } /* 레이어에서 물품 클릭시 해당하는 값의 물품명과 코드명을 받아온다. 2014.08.26 YMYOON */ function fn_select_item(cate_code, cate_name, code, nm) { if (code == '') { $("#PRDT_CL_NM").val(cate_name); } else { $("#PRDT_CL_NM").val(cate_name + " - " + nm); } $("#prdtClCd01").val(cate_code); $("#prdtClCd02").val(code); $("#classification_name").hide(); $("#PRDT_CL_NM").focus(); //$("#category-nav").hide(); } //분실물신고 로그인, 실명인증 체크 function fn_login(val){ if(val=="Y"){ var resNoYn = ""; if(resNoYn == "" || resNoYn == null){ window.location = "/html.do;jsessionid=zfZUKGE3RyFAVs0YQ0Poa30PEJI1GC45dacJvYO318DuaC910jn0a3ASTEv1WNqp.found02_servlet_www?html=/lost/firstNameCheck&sub=LS&title=분실물&ptitle=실명인증"; }else{ window.location = "/html.do;jsessionid=zfZUKGE3RyFAVs0YQ0Poa30PEJI1GC45dacJvYO318DuaC910jn0a3ASTEv1WNqp.found02_servlet_www?html=/lost/addLostView&sub=LS&title=분실물&ptitle=분실물신고"; } }else{ alert("로그인이 필요한 페이지입니다."); window.location = "/html.do;jsessionid=zfZUKGE3RyFAVs0YQ0Poa30PEJI1GC45dacJvYO318DuaC910jn0a3ASTEv1WNqp.found02_servlet_www?html=/member/login&sub=U&title=로그인"; } } </script> <!-- 컨텐츠 영역 --> <div id="contents"> <div class="contents_common"> <nav class="sub_topnav"> <a href="#">HOME</a> > <a href="#">습득물</a> > <a href="#">습득물 검색</a> </nav> <h2>습득물 검색</h2> <span class="subtxt1">아래 선택에 맞게 입력 해주세요. 분실하신 물건의 습득 상황 검색을 빠르게 도와드립니다.</span> <span class="subtxt2">※ 신분증, 증명서 등은 분실자 이름으로, 휴대폰은 일련번호로 빠르고 정확하게 찾으실 수 있습니다.</span> </div> <ul class="findInfo"> <li> <span>경찰청 습득물 목록에서 <br/>내가 잃어버린 물건을 찾았다면?</span> <button class="btn_200" onclick="location.href='/html.do;jsessionid=zfZUKGE3RyFAVs0YQ0Poa30PEJI1GC45dacJvYO318DuaC910jn0a3ASTEv1WNqp.found02_servlet_www?html=/prevent/lostProcedures&sub=F&title=유실물종합안내&ptitle=유실물처리절차'" title="습득물 처리절차">습득물 처리절차</button> </li> <li> <span>내가 잃어버린 물건을 경찰청 <br/>습득물 목록에서 찾을 수 없다면?</span> <button class="btn_200b" onclick="fn_login('N');" title="분실물 신고">분실물 신고</button> </li> </ul> <!-- 습득물 검색창 --> <div class="findList"> <div class="lost_qfind2"> <form action="#none" id="commandMap" method="post" name="commandMap" onsubmit="return false;"> <input id="pageIndex" name="pageIndex" type="hidden" value="1"/> <div class="qnb5_l"> <fieldset class="lost_inputbox"> <legend>습득물 종류 입력</legend> <label for="PRDT_CL_NM">분류명</label> <input class="" id="PRDT_CL_NM" name="PRDT_CL_NM" readonly="readonly" title="분류명 입력" type="text" value=""/> <button class="btn_02" onclick="showlayer(this,'#classification_name');" title="분류명 선택 레이어 새창" type="button">찾기</button> <input id="prdtClCd01" name="PRDT_CL_CD01" type="hidden" value=""/> <input id="prdtClCd02" name="PRDT_CL_CD02" type="hidden" value=""/> </fieldset> <!-- 날짜입력 --> <fieldset class="lost_period"> <legend>습득기간 입력</legend> <label for="startYmdInput">기간</label> <input class="search_text isNumber" id="startYmdInput" name="START_YMD" readonly="readonly" size="10" title="검색시작일" type="text" value="20180612"/> <button class="cal_btn" onclick="showCalendar(this,'#CalendarControl','startYmdInput',70,30);return false;" title="검색 시작일 달력 레이어 새창" type="button"><span class="hidden">검색 시작일 예)2015092</span></button> <span>~</span> <input class="search_text isNumber" id="endYmdInput" name="END_YMD" readonly="readonly" size="10" title="검색종료일" type="text" value="20180626"/> <button class="cal_btn" onclick="showCalendar(this,'#CalendarControl','endYmdInput',70,160);return false;" title="검색 종료일 달력 레이어 새창" type="button"><span class="hidden">검색 종료일 예)20150925</span></button> <iframe id="CalendarControlIFrame" scrolling="no" title="달력"></iframe> <div id="CalendarControl"></div> </fieldset> <fieldset class="lost_inputbox"> <legend>습득물명 입력</legend> <label for="prdtNm">습득물명</label> <input class="search_text korean" id="prdtNm" name="PRDT_NM" title="습득물명 입력" type="text" value=""/> </fieldset> <fieldset class="lost_inputbox"> <legend>보관장소 입력</legend> <label for="depPlace">보관장소</label> <input class="search_text korean" id="depPlace" name="DEP_PLACE" title="보관장소 입력" type="text" value=""/> </fieldset> <fieldset class="lost_inputbox"> <legend>접수구분 입력</legend> <label for="site">접수구분</label> <select id="site" name="SITE" title="접수구분 선택"> <option selected="selected" value="">선택</option> <option value="F">경찰관서</option> <option value="V">경찰이외의기관(지하철,공항등)</option> </select> </fieldset> <fieldset class="lost_inputbox"> <legend>습득장소 입력</legend> <label for="placeSeCd">습득장소</label> <select id="placeSeCd" name="PLACE_SE_CD" title="습득장소 선택"> <option selected="selected" value="">전체</option> </select> </fieldset> </div> <div class="qnb5_r"> <fieldset class="lost_inputbox"> <legend>습득지역 입력</legend> <label for="fdLctCd">습득지역</label> <select class="search_text1" id="fdLctCd" name="FD_LCT_CD" title="습득지역 선택"> <option selected="selected" value="">선택</option> </select> </fieldset> <fieldset class="lost_inputbox"> <legend>분실자명 입력</legend> <label for="inNm">분실자명</label> <input class="search_text korean" id="inNm" name="IN_NM" title="분실자명 입력" type="text" value=""/> </fieldset> <fieldset class="lost_inputbox"> <legend>관리번호 입력</legend> <label for="ATC_ID">관리번호</label> <input id="ATC_ID" name="ATC_ID" style="ime-mode: inactive;" title="관리번호 입력" type="text" value=""/> <input class="search_text" id="F_ATC_ID" name="F_ATC_ID" type="hidden" value=""/> </fieldset> <fieldset class="lost_inputbox"> <legend>모델코드 입력</legend> <label for="">모델코드</label> <input class="search_text english" id="mdcd" name="MDCD" title="모델코드 입력" type="text" value=""/> </fieldset> <fieldset class="lost_inputbox"> <legend>일련번호 입력</legend> <label for="srno">일련번호</label> <input class="search_text english" id="srno" name="SRNO" title="일련번호 입력" type="text" value=""/> </fieldset> </div> <p><button class="btn_01" id="searchMain" name="searchMain" title="습득물 검색" type="image">검색</button></p> </form> </div> </div> <!-- //습득물 검색창 --> <!-- 습득물 게시판 리스트 --> <div class="find_listBox"> <table class="type01" summary="관리번호, 습득물명, 분실자명, 보관장소, 주운 일자"> <caption>습득물 목록 조회 결과 테이블</caption> <colgroup> <col style="width:160px"></col> <col style="width:220px"></col> <col style="width:"></col> <col style="width:120px"></col> <col style="width:100px"></col> <col style="width:100px"></col> </colgroup> <thead> <tr> <th class="first" scope="col">관리번호</th> <th scope="col">습득물명</th> <th scope="col">분실자명</th> <th scope="col">보관장소</th> <th scope="col">연락처</th> <th scope="col">주운일자</th> </tr> </thead> <tbody> <!-- 테이블 반복 구간 시작 --> <tr> <td class="first " scope="row" title="V0002502D06280018"><a href="javascript:fn_find_detail('V0002502D06280018', '1')">V0002502D06280018</a></td> <td class="board_title1 " scope="row" title="카카오뱅크 라이언카드"><div class="title_text"> <a href="javascript:fn_find_detail('V0002502D06280018', '1')">카카오뱅크 라이언카드 </a></div></td> <td class="" scope="row" title="-"><a href="javascript:fn_find_detail('V0002502D06280018', '1')">-</a></td> <td class="" scope="row" title="CGV(신촌점)"> <div class="losers_text"> <a href="javascript:fn_find_detail('V0002502D06280018', '1')">CGV(신촌점)</a> </div> </td> <td class="first " scope="row" title="02-373-2995"><a href="javascript:fn_find_detail('V0002502D06280018', '1')">02-373-2995</a></td> <td class="" scope="row"><a href="javascript:fn_find_detail('V0002502D06280018', '1')">2018-06-26</a></td> </tr> <tr> <td class="first " scope="row" title="V0002502D06280016"><a href="javascript:fn_find_detail('V0002502D06280016', '1')">V0002502D06280016</a></td> <td class="board_title1 " scope="row" title="KB 국민카드"><div class="title_text"> <a href="javascript:fn_find_detail('V0002502D06280016', '1')">KB 국민카드 </a></div></td> <td class="" scope="row" title="-"><a href="javascript:fn_find_detail('V0002502D06280016', '1')">-</a></td> <td class="" scope="row" title="CGV(신촌점)"> <div class="losers_text"> <a href="javascript:fn_find_detail('V0002502D06280016', '1')">CGV(신촌점)</a> </div> </td> <td class="first " scope="row" title="02-373-2995"><a href="javascript:fn_find_detail('V0002502D06280016', '1')">02-373-2995</a></td> <td class="" scope="row"><a href="javascript:fn_find_detail('V0002502D06280016', '1')">2018-06-26</a></td> </tr> <tr> <td class="first " scope="row" title="V0002502D06280014"><a href="javascript:fn_find_detail('V0002502D06280014', '1')">V0002502D06280014</a></td> <td class="board_title1 " scope="row" title="신한카드"><div class="title_text"> <a href="javascript:fn_find_detail('V0002502D06280014', '1')">신한카드 </a></div></td> <td class="" scope="row" title="-"><a href="javascript:fn_find_detail('V0002502D06280014', '1')">-</a></td> <td class="" scope="row" title="CGV(신촌점)"> <div class="losers_text"> <a href="javascript:fn_find_detail('V0002502D06280014', '1')">CGV(신촌점)</a> </div> </td> <td class="first " scope="row" title="02-373-2995"><a href="javascript:fn_find_detail('V0002502D06280014', '1')">02-373-2995</a></td> <td class="" scope="row"><a href="javascript:fn_find_detail('V0002502D06280014', '1')">2018-06-25</a></td> </tr> <tr> <td class="first " scope="row" title="V0002502D06280012"><a href="javascript:fn_find_detail('V0002502D06280012', '1')">V0002502D06280012</a></td> <td class="board_title1 " scope="row" title="신한카드"><div class="title_text"> <a href="javascript:fn_find_detail('V0002502D06280012', '1')">신한카드 </a></div></td> <td class="" scope="row" title="-"><a href="javascript:fn_find_detail('V0002502D06280012', '1')">-</a></td> <td class="" scope="row" title="CGV(신촌점)"> <div class="losers_text"> <a href="javascript:fn_find_detail('V0002502D06280012', '1')">CGV(신촌점)</a> </div> </td> <td class="first " scope="row" title="02-373-2995"><a href="javascript:fn_find_detail('V0002502D06280012', '1')">02-373-2995</a></td> <td class="" scope="row"><a href="javascript:fn_find_detail('V0002502D06280012', '1')">2018-06-25</a></td> </tr> <tr> <td class="first " scope="row" title="V0002502D06280010"><a href="javascript:fn_find_detail('V0002502D06280010', '1')">V0002502D06280010</a></td> <td class="board_title1 " scope="row" title="열쇠"><div class="title_text"> <a href="javascript:fn_find_detail('V0002502D06280010', '1')">열쇠 </a></div></td> <td class="" scope="row" title="-"><a href="javascript:fn_find_detail('V0002502D06280010', '1')">-</a></td> <td class="" scope="row" title="CGV(신촌점)"> <div class="losers_text"> <a href="javascript:fn_find_detail('V0002502D06280010', '1')">CGV(신촌점)</a> </div> </td> <td class="first " scope="row" title="02-373-2995"><a href="javascript:fn_find_detail('V0002502D06280010', '1')">02-373-2995</a></td> <td class="" scope="row"><a href="javascript:fn_find_detail('V0002502D06280010', '1')">2018-06-24</a></td> </tr> <tr> <td class="first " scope="row" title="V0002502D06280008"><a href="javascript:fn_find_detail('V0002502D06280008', '1')">V0002502D06280008</a></td> <td class="board_title1 " scope="row" title="카페베네 카드"><div class="title_text"> <a href="javascript:fn_find_detail('V0002502D06280008', '1')">카페베네 카드 </a></div></td> <td class="" scope="row" title="-"><a href="javascript:fn_find_detail('V0002502D06280008', '1')">-</a></td> <td class="" scope="row" title="CGV(신촌점)"> <div class="losers_text"> <a href="javascript:fn_find_detail('V0002502D06280008', '1')">CGV(신촌점)</a> </div> </td> <td class="first " scope="row" title="02-373-2995"><a href="javascript:fn_find_detail('V0002502D06280008', '1')">02-373-2995</a></td> <td class="" scope="row"><a href="javascript:fn_find_detail('V0002502D06280008', '1')">2018-06-24</a></td> </tr> <tr> <td class="first " scope="row" title="V0002502D06280006"><a href="javascript:fn_find_detail('V0002502D06280006', '1')">V0002502D06280006</a></td> <td class="board_title1 " scope="row" title="주민등록증"><div class="title_text"> <a href="javascript:fn_find_detail('V0002502D06280006', '1')">주민등록증 </a></div></td> <td class="" scope="row" title="-"><a href="javascript:fn_find_detail('V0002502D06280006', '1')">-</a></td> <td class="" scope="row" title="CGV(신촌점)"> <div class="losers_text"> <a href="javascript:fn_find_detail('V0002502D06280006', '1')">CGV(신촌점)</a> </div> </td> <td class="first " scope="row" title="02-373-2995"><a href="javascript:fn_find_detail('V0002502D06280006', '1')">02-373-2995</a></td> <td class="" scope="row"><a href="javascript:fn_find_detail('V0002502D06280006', '1')">2018-06-23</a></td> </tr> <tr> <td class="first " scope="row" title="V0002502D06280004"><a href="javascript:fn_find_detail('V0002502D06280004', '1')">V0002502D06280004</a></td> <td class="board_title1 " scope="row" title="우리v체크카드"><div class="title_text"> <a href="javascript:fn_find_detail('V0002502D06280004', '1')">우리v체크카드 </a></div></td> <td class="" scope="row" title="-"><a href="javascript:fn_find_detail('V0002502D06280004', '1')">-</a></td> <td class="" scope="row" title="CGV(신촌점)"> <div class="losers_text"> <a href="javascript:fn_find_detail('V0002502D06280004', '1')">CGV(신촌점)</a> </div> </td> <td class="first " scope="row" title="02-373-2995"><a href="javascript:fn_find_detail('V0002502D06280004', '1')">02-373-2995</a></td> <td class="" scope="row"><a href="javascript:fn_find_detail('V0002502D06280004', '1')">2018-06-23</a></td> </tr> <tr> <td class="first " scope="row" title="V0002502D06280002"><a href="javascript:fn_find_detail('V0002502D06280002', '1')">V0002502D06280002</a></td> <td class="board_title1 " scope="row" title="cu멤버쉽&교통카드"><div class="title_text"> <a href="javascript:fn_find_detail('V0002502D06280002', '1')">cu멤버쉽&교통카드 </a></div></td> <td class="" scope="row" title="-"><a href="javascript:fn_find_detail('V0002502D06280002', '1')">-</a></td> <td class="" scope="row" title="CGV(신촌점)"> <div class="losers_text"> <a href="javascript:fn_find_detail('V0002502D06280002', '1')">CGV(신촌점)</a> </div> </td> <td class="first " scope="row" title="02-373-2995"><a href="javascript:fn_find_detail('V0002502D06280002', '1')">02-373-2995</a></td> <td class="" scope="row"><a href="javascript:fn_find_detail('V0002502D06280002', '1')">2018-06-22</a></td> </tr> <tr> <td class="first last" scope="row" title="F2018062800002828"><a href="javascript:fn_find_detail('F2018062800002828', '1')">F2018062800002828</a></td> <td class="board_title1 last" scope="row" title="삼성 폴더폰"><div class="title_text"> <a href="javascript:fn_find_detail('F2018062800002828', '1')">삼성 폴더폰 <img alt="사진있음" src="/images/sub/icon_jpg.gif"/></a></div></td> <td class=" last" scope="row" title="-"><a href="javascript:fn_find_detail('F2018062800002828', '1')">-</a></td> <td class=" last" scope="row" title="서울중부경찰서"> <div class="losers_text"> <a href="javascript:fn_find_detail('F2018062800002828', '1')">서울중부경찰서</a> </div> </td> <td class="first last" scope="row" title="02-3396-9156"><a href="javascript:fn_find_detail('F2018062800002828', '1')">02-3396-9156</a></td> <td class=" last" scope="row"><a href="javascript:fn_find_detail('F2018062800002828', '1')">2018-06-19</a></td> </tr> <!-- //테이블 반복 구간 끝 --> </tbody> </table> </div> <!-- //습득물 게시판 리스트 --> <!-- 게시판 페이징 --> <div class="paging" id="paging"> <span><a class="first" href="#none" onclick="fn_find_link_page(1); return false;"><span class="skip">처음</span></a><a class="prev" href="#none" onclick="fn_find_link_page(1); "><span class="skip">이전</span></a></span><a class="on" href="#none"><strong>1</strong></a><a href="#none" onclick="fn_find_link_page(2); ">2</a><a href="#none" onclick="fn_find_link_page(3); ">3</a><a href="#none" onclick="fn_find_link_page(4); ">4</a><a href="#none" onclick="fn_find_link_page(5); ">5</a><a href="#none" onclick="fn_find_link_page(6); ">6</a><a href="#none" onclick="fn_find_link_page(7); ">7</a><a href="#none" onclick="fn_find_link_page(8); ">8</a><a href="#none" onclick="fn_find_link_page(9); ">9</a><a href="#none" onclick="fn_find_link_page(10); ">10</a><span><a class="next" href="#none" onclick="fn_find_link_page(11); "><span class="skip">다음</span></a><a class="last" href="#none" onclick="fn_find_link_page(494); "><span class="skip">마지막</span></a></span> <!-- <input type="hidden" name="pageIndex" id="pageIndex" value="1" /> --> </div> <!-- 최근 등록 습득물 현황 --> <div class="sub_latest_list"> <h1>최근 등록된 습득물 현황</h1> <div class="latest_listwrap"> <div id="imgList"> <ul> <li> <a href="javascript:fn_find_detail('F2018062800000889', '1')"><img alt="루이까또즈반지갑" src="/lostnfs/images/uploadImg/thumbnail/20180628/20180628095308601.jpg" style="width: 130px; height: 100px;"/></a> <p class="latest_list_name"><a href="javascript:fn_find_detail('F2018062800000889', '1')">루이까또즈반지갑</a></p> <p class="latest_list_date">습득일자<em>2018-06-26</em></p> </li> <li> <a href="javascript:fn_find_detail('F2018062800002421', '1')"><img alt="POP카드(T머니카드)" src="/lostnfs/images/uploadImg/thumbnail/20180628/20180628040213268.jpg" style="width: 130px; height: 100px;"/></a> <p class="latest_list_name"><a href="javascript:fn_find_detail('F2018062800002421', '1')">POP카드(T머니카드)</a></p> <p class="latest_list_date">습득일자<em>2018-06-28</em></p> </li> <li> <a href="javascript:fn_find_detail('F2018062800002348', '1')"><img alt="삼성갤럭시S7" src="/lostnfs/images/uploadImg/thumbnail/20180628/20180628042159720.jpg" style="width: 130px; height: 100px;"/></a> <p class="latest_list_name"><a href="javascript:fn_find_detail('F2018062800002348', '1')">삼성갤럭시S7</a></p> <p class="latest_list_date">습득일자<em>2018-06-28</em></p> </li> <li> <a href="javascript:fn_find_detail('F2018062800002162', '1')"><img alt="LG휴대폰" src="/lostnfs/images/uploadImg/thumbnail/20180628/20180628053744717.jpg" style="width: 130px; height: 100px;"/></a> <p class="latest_list_name"><a href="javascript:fn_find_detail('F2018062800002162', '1')">LG휴대폰</a></p> <p class="latest_list_date">습득일자<em>2018-03-01</em></p> </li> <li> <a href="javascript:fn_find_detail('F2018062800002134', '1')"><img alt="여성 장지갑" src="/lostnfs/images/uploadImg/thumbnail/20180628/20180628034524616.jpg" style="width: 130px; height: 100px;"/></a> <p class="latest_list_name"><a href="javascript:fn_find_detail('F2018062800002134', '1')">여성 장지갑</a></p> <p class="latest_list_date">습득일자<em>2018-06-28</em></p> </li> <li> <a href="javascript:fn_find_detail('F2018062800002098', '1')"><img alt="아이폰" src="/lostnfs/images/uploadImg/thumbnail/20180628/20180628053425823.jpg" style="width: 130px; height: 100px;"/></a> <p class="latest_list_name"><a href="javascript:fn_find_detail('F2018062800002098', '1')">아이폰</a></p> <p class="latest_list_date">습득일자<em>2018-06-24</em></p> </li> <li> <a href="javascript:fn_find_detail('F2018062800002011', '1')"><img alt="lg휴대폰" src="/lostnfs/images/uploadImg/thumbnail/20180628/20180628030707299.jpg" style="width: 130px; height: 100px;"/></a> <p class="latest_list_name"><a href="javascript:fn_find_detail('F2018062800002011', '1')">lg휴대폰</a></p> <p class="latest_list_date">습득일자<em>2018-06-28</em></p> </li> <li> <a href="javascript:fn_find_detail('F2018062800001970', '1')"><img alt="지갑" src="/lostnfs/images/uploadImg/thumbnail/20180628/r_20180628032720422.jpg" style="width: 130px; height: 100px;"/></a> <p class="latest_list_name"><a href="javascript:fn_find_detail('F2018062800001970', '1')">지갑</a></p> <p class="latest_list_date">습득일자<em>2018-06-27</em></p> </li> <li> <a href="javascript:fn_find_detail('F2018062800001809', '1')"><img alt="남성용 지갑" src="/lostnfs/images/uploadImg/thumbnail/20180628/r_20180628044335809.jpg" style="width: 130px; height: 100px;"/></a> <p class="latest_list_name"><a href="javascript:fn_find_detail('F2018062800001809', '1')">남성용 지갑</a></p> <p class="latest_list_date">습득일자<em>2018-06-22</em></p> </li> <li> <a href="javascript:fn_find_detail('F2018062800001761', '1')"><img alt="남성용 카드지갑" src="/lostnfs/images/uploadImg/thumbnail/20180628/r_20180628021500259.jpg" style="width: 130px; height: 100px;"/></a> <p class="latest_list_name"><a href="javascript:fn_find_detail('F2018062800001761', '1')">남성용 카드지갑</a></p> <p class="latest_list_date">습득일자<em>2018-06-20</em></p> </li> </ul> </div> </div> <button class="list_prev" title="최근 등록 습득물 현황 이전" type="button">이전</button> <button class="list_next" title="최근 등록 습득물 현황 다음" type="button">다음</button> </div> <!-- //최근 등록 습득물 현황 --> <!-- // 물품분류 레이어 --> <div class="pop_layer1" id="classification_name"></div> <!-- 페이지 만족도 --> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script language="javascript" src="/js/jquery.base64.js" type="text/javascript"></script> <script type="text/javascript"> /* $(document).ready(function() { jQuery.ajax( { url : '/opinionInfo.do', type : 'post', data : 'page='+ $.base64('encode', encodeURIComponent($(location).attr('pathname')+$(location).attr('search'))), success : function(data) { $('#damdang').html( data.info.damdang ); $('#damtel').html(data.info.damtel); $('#menuNo').val(data.info.seq); }, error : function(data) { $('#pageopinion').html(' '); } }); }); */ // function opinionSubmit() { // var string = $("form[name=ratingForm]").serialize(); // jQuery.ajax( { // url : '/opinionSave.do', // type : 'post', // data : string, // success : function(data) { // if (data.info.rst == 'F') { // alert(data.info.msg); // $("#opinionlist").hide(); // } else if (data.info.rst == 'S') { // alert("평가가 완료되었습니다.\n 감사합니다."); // $("#opinionlist").hide(); // } // }, // error : function(data) { // alert('평가정보 저장 중 오류가 발생하였습니다.\n 시스템 관리자에게 문의해 주시기 바랍니다.'); // } // }); // } $(document).ready(function() { jQuery.ajax( { url : '/opinionInfo.do', type : 'post', data : 'page=' + $.base64('encode', encodeURIComponent($(location).attr('pathname')+$(location).attr('search'))), success : function(data) { if(data && data.info) { if(data.info.hasOwnProperty('damdang')) $('#damdang').html(data.info.damdang ); if(data.info.hasOwnProperty('damtel')) $('#damtel').html(data.info.damtel); if(data.info.hasOwnProperty('seq')) $('#menuNo').val(data.info.seq); } }, error : function(data) { $('#pageopinion').html(' '); } }); }); function opinionSubmit(val) { if(val=="Y"){ var string = $("form[name=ratingForm]").serialize(); jQuery.ajax( { url : '/opinionSave.do', type : 'post', data : string, success : function(data) { if (data.info.rst == 'F') { alert(data.info.msg); $("#opinionlist").hide(); } else if (data.info.rst == 'S') { alert("평가가 완료되었습니다.\n 감사합니다."); $("#opinionlist").hide(); $("#textOpinion_an").val(""); } }, error : function(data) { alert('평가정보 저장 중 오류가 발생하였습니다.\n 시스템 관리자에게 문의해 주시기 바랍니다.'); } }); } else { alert("로그인이 필요한 페이지입니다."); window.location = "/member/login&sub=U&title=로그인"; } } </script> <!-- 페이지 만족도 --> <div class="page_satisfaction"> <form method="post" name="ratingForm" onsubmit="return false;"> <fieldset> <legend>페이지 만족도 양식</legend> <input id="menuNo" name="menuNo" type="hidden"/> <dl class="pagevoit"> <dt>페이지 만족도</dt> <dd> <input checked="checked" id="s5" name="rate" type="radio" value="5"/><label for="s5">매우만족</label> <input id="s4" name="rate" type="radio" value="4"/><label for="s4">만족</label> <input id="s3" name="rate" type="radio" value="3"/><label for="s3">보통</label> <input id="s2" name="rate" type="radio" value="2"/><label for="s2">불만</label> <input id="s1" name="rate" type="radio" value="1"/><label for="s1">매우불만</label> </dd> </dl> <p class="pagevoit_btn"> <input class="input_txt" id="textOpinion_an" name="msg" placeholder="남기실 말을 적어주세요." title="페이지만족도" type="text"/> <button class="btn_03" id="opinionlist" onclick="opinionSubmit('N');" title="페이지만족도 등록하기">등록하기</button> </p> </fieldset> </form> <dl class="pagemanager"> <dt>자료관리담당:</dt> <dd>생활질서계</dd> </dl> <dl class="pagemanager_tel"> <dt>연락처:</dt> <dd><a href="tel:0231503578">02-3150-3578</a> (유실물 관련 문의는 상세화면의 보관장소 연락처로 문의바랍니다.)</dd> </dl> </div> <!-- // 페이지 만족도 끝 --> <!-- 페이지 만족도 끝 --> </div> <!--// opinion --> <!--// opinion --> <!--// contents --> </div> <!-- container //--> <!-- 2016-11-11 추가 및 수정 --> <!--// qMenu --> <!-- qMenu //--> <!--// footer --> <script language="javascript" src="/js/jquery.base64.js" type="text/javascript"></script> <script type="text/javascript"> /* $(document).ready(function() { jQuery.ajax( { url : '/opinionInfo.do', type : 'post', data : 'page=' + $.base64('encode', encodeURIComponent($(location).attr('pathname')+$(location).attr('search'))), success : function(data) { $('#damdang').html( data.info.damdang ); $('#damtel').html(data.info.damtel); $('#menuNo').val(data.info.seq); }, error : function(data) { $('#pageopinion').html(' '); } }); fnBanner('banner_list', 'adminBanner_gridList'); }); */ function policy_open() { window.open("/ps_auth.html", "new_popup1", "height=800,width=623,scrollbars=yes"); } function opinionSubmit(val) { if(val=="Y"){ var string = $("form[name=ratingForm]").serialize(); jQuery.ajax( { url : '/opinionSave.do', type : 'post', data : string, success : function(data) { if (data.info.rst == 'F') { alert(data.info.msg); $("#opinionlist").hide(); } else if (data.info.rst == 'S') { alert("평가가 완료되었습니다.\n 감사합니다."); $("#opinionlist").hide(); } }, error : function(data) { alert('평가정보 저장 중 오류가 발생하였습니다.\n 시스템 관리자에게 문의해 주시기 바랍니다.'); } }); } else { alert("로그인이 필요한 페이지입니다."); window.location = "/html.do;jsessionid=zfZUKGE3RyFAVs0YQ0Poa30PEJI1GC45dacJvYO318DuaC910jn0a3ASTEv1WNqp.found02_servlet_www?html=/member/login&sub=U&title=로그인"; } } </script> <!-- <div class="banner_zone_sub"> --> <!-- <h2 class="blind">패밀리 사이트 배너존</h2> --> <!-- <div class="ctrl"> --> <!-- <span>배너모음</span> --> <!-- <div class="control"> --> <!-- <button type="button" class="banner_prev"> --> <!-- <span>이전배너보기</span> --> <!-- </button> --> <!-- <button type="button" class="banner_play"> --> <!-- <span>배너재생</span> --> <!-- </button> --> <!-- <button type="button" class="banner_stop"> --> <!-- <span>배너정지</span> --> <!-- </button> --> <!-- <button type="button" class="banner_next"> --> <!-- <span>다음배너보기</span> --> <!-- </button> --> <!-- </div> --> <!-- </div> --> <!-- <div id="banner_list" class="family_wrap"></div> --> <!-- </div> --> <!-- <div id="footer" class="sub_footer"> --> <!-- <div id="main_w"> --> <!-- <div class="accessibility_mark"> --> <!-- <a href="/web_accessibility.html" --> <!-- onclick="open_window(this.href,'accessibility',700,850);return false;"><img --> <!-- src="/../../images/main/web_accessibility.png" --> <!-- alt="미래창조과학부 WEB ACCESSIBILITY 마크(웹 접근성 품질인증 마크)" --> <!-- title="국가 공인 인증기관 : 웹와치"/></a> --> <!-- <img src="/../../images/main/gov30.gif" --> <!-- alt="2015년도 정부3.0 최우수기관" --> <!-- title="정부3.0 최우수기관"/><br/> --> <!-- </div> --> <!-- <div class="copyright">Copyright(c) 2011 경찰청 all rights --> <!-- reserved.</div> --> <!-- <div class="copy_txt"> --> <!-- <ul> --> <!-- <li><span class="red"><a --> <!-- href="/html.do?html=/prevent/lostHelp&sub=M&title=도움말">사이트 --> <!-- 이용안내</a></span> | <span class="red"><a href="#none" --> <!-- onclick="policy_open();return false;" title="새창">개인정보처리방침</a></span></li> --> <!-- <li>03739 서울특별시 서대문구 통일로 97 민원전화 : 국번없이 182</li> --> <!-- <li>홈페이지에 게시된 이메일주소가 자동수집되는 것을 거부하며,<br /> 이를 위반 시 처벌될 수 있음을 --> <!-- 양지하여 주시기 바랍니다. --> <!-- </li> --> <!-- </ul> --> <!-- </div> --> <!-- <div class="go_service"> --> <!-- <h3 class="blind"> --> <!-- <span>바로가기 서비스</span> --> <!-- </h3> --> <!-- <ul> --> <!-- <li><label for="sl_gotot1" class="hid">사이버경찰청</label> <select --> <!-- id="sl_gotot1" class="w_140 select_language1 mr_4"> --> <!-- <option value="http://www.police.go.kr/">사이버경찰청</option> --> <!-- <option --> <!-- value="http://www.police.go.kr/portal/main/contents.do?menuNo=200101">정보공개</option> --> <!-- <option value="http://www.police.go.kr/assembly/main.do">국회정보공개</option> --> <!-- <option --> <!-- value="http://www.police.go.kr/portal/bbs/list.do?bbsId=B0000003&menuNo=200052">국민마당</option> --> <!-- <option value="http://cyber112.police.go.kr/cyber112/main.do">신고민원포털</option> --> <!-- <option --> <!-- value="http://cyber112.police.go.kr/cyber112/main/contents.do?menuNo=1200052">교통법규위반신고</option> --> <!-- </select> --> <!-- <button type="button" title="새창" class="go_select">GO</button></li> --> <!-- <li><label for="sl_gotot2" class="hid">지방청/부속기관</label> <select --> <!-- id="sl_gotot2" class="w_140 select_language1 mr_4"> --> <!-- <option value="#">지방청/부속기관</option> --> <!-- <option value="http://www.smpa.go.kr">서울지방경찰청</option> --> <!-- <option value="http://www.bspolice.go.kr">부산지방경찰청</option> --> <!-- <option value="http://www.dgpolice.go.kr">대구지방경찰청</option> --> <!-- <option value="http://www.icpolice.go.kr">인천지방경찰청</option> --> <!-- <option value="http://www.gjpolice.go.kr">광주지방경찰청</option> --> <!-- <option value="http://www.djpolice.go.kr">대전지방경찰청</option> --> <!-- <option value="http://www.uspolice.go.kr">울산지방경찰청</option> --> <!-- <option value="http://www.ggpolice.go.kr">경기남부지방경찰청</option> --> <!-- <option value="http://www.ggbpolice.go.kr">경기북부지방경찰청</option> --> <!-- <option value="http://www.gwpolice.go.kr">강원지방경찰청</option> --> <!-- <option value="http://www.cbpolice.go.kr">충북지방경찰청</option> --> <!-- <option value="http://www.cnpolice.go.kr">충남지방경찰청</option> --> <!-- <option value="http://www.jbpolice.go.kr">전북지방경찰청</option> --> <!-- <option value="http://www.jnpolice.go.kr">전남지방경찰청</option> --> <!-- <option value="http://www.gbpolice.go.kr">경북지방경찰청</option> --> <!-- <option value="http://www.gnpolice.go.kr">경남지방경찰청</option> --> <!-- <option value="http://www.jjpolice.go.kr">제주지방경찰청</option> --> <!-- <option value="http://www.police.ac.kr">경찰대학</option> --> <!-- <option value="http://www.pti.go.kr">경찰교육원</option> --> <!-- <option value="http://www.cpa.go.kr">중앙경찰학교</option> --> <!-- <option value="http://www.kpia.go.kr/">경찰수사연수원</option> --> <!-- <option value="http://www.koroad.or.kr">도로교통공단</option> --> <!-- <option value="http://www.nph.go.kr">경찰병원</option> --> <!-- </select> --> <!-- <button type="button" title="새창" class="go_select">GO</button></li> --> <!-- <li><label for="sl_gotot3" class="hid">업무 관련 사이트</label> <select --> <!-- id="sl_gotot3" class="w_140 select_language1 mr_4"> --> <!-- <option value="#">업무 관련 사이트</option> --> <!-- <option value="http://www.police.go.kr/commission/main.do">경찰위원회</option> --> <!-- <option value="http://www.ctrc.go.kr">사이버테러대응센터</option> --> <!-- <option value="http://www.kpsi.go.kr/">경찰과학수사</option> --> <!-- <option value="http://www.safe182.go.kr/">안전 Dream</option> --> <!-- <option value="http://www.policemuseum.go.kr/kr/">경찰박물관</option> --> <!-- <option value="http://www.police.go.kr/HR">인권센터</option> --> <!-- <option value="http://cyberbureau.police.go.kr/">사이버안전국</option> --> <!-- <option value="http://net-durumi.netan.go.kr/">넷두루미</option> --> <!-- <option value="http://susa.go.kr">수사구조개혁</option> --> <!-- <option value="http://www.112119.in/">공상자후원회</option> --> <!-- <option value="http://www.chamsuri.co.kr/">참수리사랑</option> --> <!-- </select> --> <!-- <button type="button" title="새창" class="go_select">GO</button></li> --> <!-- </ul> --> <!-- </div> --> <!-- </div> --> <!-- </div> --> <!-- footer //--> <!-- 푸터 영역 --> <footer> <div class="footer_content"> <p class="accessibility_mark"> <a href="http://www.kwacc.or.kr/WACertificate/WAMark"> <img alt="국가공인 웹 접근성 품질인증마크_(사)한국시각장애인연합회 (2017.05.31~2018.05.30)" class="wa_icon" src="/images/home/common/web_accessibility_2017.png" title="한국웹접근성평가센터"/> </a> <!-- <img src="/images/home/common/gov30.gif" class="gov30icon" alt="2015년도 정부3.0 최우수기관" title="정부3.0 최우수기관" /> --> </p> <div class="footer_txt"> <p class="footer_policy"> <a href="javascript:fn_menuMove('/html.do;jsessionid=zfZUKGE3RyFAVs0YQ0Poa30PEJI1GC45dacJvYO318DuaC910jn0a3ASTEv1WNqp.found02_servlet_www?html=/prevent/lostDeclare&sub=F&title=유실물 종합안내&ptitle=유실물신고절차')" title="사이트 이용안내">사이트 이용안내</a> | <a href="#" onclick="policy_open();return false;" target="_blank" title="개인정보처리방침 새창">개인정보처리방침</a> </p> <address> 03739 서울특별시 서대문구 통일로 97 | 민원전화 : 국번없이 182<br/> 홈페이지에 게시된 이메일주소가 자동수집되는 것을 거부하며, 이를 위반 시 처벌될 수 있음을 양지하여 주시기 바랍니다. </address> <small class="copyright">Copyright(c) 2016 경찰청 all rights reserved.</small> </div> <p class="footer_182_logo"> <img alt="경찰민원콜센터 국번없이 182" src="/images/home/common/182_logo.png"/> </p> <!-- go service --> <div class="go_service"> <h1 class="hidden"> <span>바로가기 서비스</span> </h1> <ul> <li><select title="사이버경찰청 관련 사이트"> <optgroup label="사이버경찰청"> <option value="http://www.police.go.kr/">사이버경찰청</option> <option value="http://www.police.go.kr/portal/main/contents.do?menuNo=200101">정보공개</option> <option value="http://www.police.go.kr/assembly/main.do">국회정보공개</option> <option value="http://www.police.go.kr/portal/bbs/list.do?bbsId=B0000003&menuNo=200052">국민마당</option> <option value="http://cyber112.police.go.kr/cyber112/main.do">신고민원포털</option> <option value="http://cyber112.police.go.kr/cyber112/main/contents.do?menuNo=1200052">교통법규위반신고</option> </optgroup> </select> <button class="go_select" title="사이버경찰청 관련 사이트 새창" type="button">GO</button> </li> <li><select title="지방청/부속기관 관련 사이트"> <optgroup label="지방청/부속기관"> <option value="#">지방청/부속기관</option> <option value="http://www.smpa.go.kr">서울지방경찰청</option> <option value="http://www.bspolice.go.kr">부산지방경찰청</option> <option value="http://www.dgpolice.go.kr">대구지방경찰청</option> <option value="http://www.icpolice.go.kr">인천지방경찰청</option> <option value="http://www.gjpolice.go.kr">광주지방경찰청</option> <option value="http://www.djpolice.go.kr">대전지방경찰청</option> <option value="http://www.uspolice.go.kr">울산지방경찰청</option> <option value="http://www.ggpolice.go.kr">경기남부지방경찰청</option> <option value="http://www.ggbpolice.go.kr">경기북부지방경찰청</option> <option value="http://www.gwpolice.go.kr">강원지방경찰청</option> <option value="http://www.cbpolice.go.kr">충북지방경찰청</option> <option value="http://www.cnpolice.go.kr">충남지방경찰청</option> <option value="http://www.jbpolice.go.kr">전북지방경찰청</option> <option value="http://www.jnpolice.go.kr">전남지방경찰청</option> <option value="http://www.gbpolice.go.kr">경북지방경찰청</option> <option value="http://www.gnpolice.go.kr">경남지방경찰청</option> <option value="http://www.jjpolice.go.kr">제주지방경찰청</option> <option value="http://www.police.ac.kr">경찰대학</option> <option value="http://www.pti.go.kr">경찰교육원</option> <option value="http://www.cpa.go.kr">중앙경찰학교</option> <option value="http://www.kpia.go.kr/">경찰수사연수원</option> <option value="http://www.koroad.or.kr">도로교통공단</option> <option value="http://www.nph.go.kr">경찰병원</option> </optgroup> </select> <button class="go_select" title="지방청/부속기관 관련 사이트 새창" type="button">GO</button> </li> <li><select title="업무 관련 사이트"> <optgroup label="업무 관련 사이트"> <option value="#">업무 관련 사이트</option> <option value="http://www.police.go.kr/commission/main.do">경찰위원회</option> <option value="http://www.ctrc.go.kr">사이버테러대응센터</option> <option value="http://www.kpsi.go.kr/">경찰과학수사</option> <option value="http://www.safe182.go.kr/">안전 Dream</option> <option value="http://www.policemuseum.go.kr/kr/">경찰박물관</option> <option value="http://www.police.go.kr/HR">인권센터</option> <option value="http://cyberbureau.police.go.kr/">사이버안전국</option> <option value="http://net-durumi.netan.go.kr/">넷두루미</option> <option value="http://susa.go.kr">수사구조개혁</option> <option value="http://www.112119.in/">공상자후원회</option> <option value="http://www.chamsuri.co.kr/">참수리사랑</option> </optgroup> </select> <button class="go_select" title="업무 관련 사이트 새창" type="button">GO</button> </li> </ul> </div> <!-- //go service --> </div> <!-- //footer_content --> </footer> <!-- //푸터 영역 끝 --> <!-- footer //--> </div> <div class="loading" id="loading" style="position: absolute; display:none;"> <h2>화면을 불러오는 중 입니다. 잠시만 기다려 주세요.</h2> <img alt="loading" src="/images/sub/loading.gif"/> </div> <div class="loading_spin" id="loading_spin" style="position: absolute;"></div> </body> </html>
Ctrl
+ Shift
+ C
)를 누르고 화면에서 찾고자 하는 부분을 클릭하면 해당 html 문서의 부분이 나타나게 된다.
...<div><table><thread><tr><th>
에 위치해있다.soup.select('.type01 tr th')
...<div><table><thread><tr><th>
에 위치해있다.select
가 CSS Selector 기능을 제공하는 함수이고, 인자로 넘겨주느는 div table thread tr th
는 상위 요소 div
부터 하위 요소 th
까지 추적한 결과이다..type01 tr th
에서 .type01
은 table에 해당하는 class 값으로 select한다는 뜻이다.#type01
과 같이 사용하면 된다. 좀 더 자세한 사용법은 위의 link를 참고하자.list
형태로 결과값을 돌려준다..
으로 대체해서 검색한다.soup.select('div table thead tr th')
soup.select('div thead tr th')
soup.select('.type01 thead tr th')
soup.select('table tr th')
[<th class="first" scope="col">관리번호</th>, <th scope="col">습득물명</th>, <th scope="col">분실자명</th>, <th scope="col">보관장소</th>, <th scope="col">연락처</th>, <th scope="col">주운일자</th>]
tbody tr td
에 해당한다. td
요소가 찾아진다. 첫번째 요소를 살펴보자.soup.select('tbody tr td')[0]
<td class="first " scope="row" title="V0002502D06280018"><a href="javascript:fn_find_detail('V0002502D06280018', '1')">V0002502D06280018</a></td>
<td title="..."><a href="...">...</a></td>
에서 td
안에 title
과 a
안에 href
의 값으로, 마지막으로 가장바깥에 text
형태로 주어져있다.get
함수를 쓰면 된다.class
나 id
같은 경우 여러 값들을 가질 수 있는데 공백
으로 구분한다.
이 있을 경우 조심하도록 하자.text
는 아래와 같이 가져올 수 있다.soup.select('tbody tr td')[0].get('title')
'V0002502D06280018'
soup.select('tbody tr td')[0].text
'V0002502D06280018'
soup.select('.type01 tr td')
soup.select('.type01 tr td a')
의 .text
로 6개 항목을 모두 추출할 수 있다는 것을 본능적으로 느낄 수 있다.replace
함수를 통해 값을 정제하고,list
를 10 x 6짜리 list로 range
함수를 이용한 약간의 트릭을 써서 변환시켜준다.temp = [x.text.replace("\n","").replace("\t","").replace("\r","") for x in soup.select('.type01 tr td')]
n = 6
result = [temp[i:i+n] for i in range(0,len(temp),n)]
result[0]
['V0002502D06280018', '카카오뱅크 라이언카드', '-', 'CGV(신촌점)', '02-373-2995', '2018-06-26']
import requests as rq # 웹페이지 불러오는 용도
from bs4 import BeautifulSoup # html문서 파싱하는 용도
import time # 트래픽 관리 용도
result = []
n = 6
head = 'https://www.lost112.go.kr/find/findList.do'
key = 'PRDT_CL_NM=&PRDT_CL_CD01=&PRDT_CL_CD02=&START_YMD=20180612&END_YMD=20180626&PRDT_NM=&DEP_PLACE=&SITE=&PLACE_SE_CD=&FD_LCT_CD=&IN_NM=&ATC_ID=&MDCD=&SRNO=&F_ATC_ID=&pageIndex=1&MENU_NO='
key = [x.split('=') for x in key.split("&")]
key[3][1],key[4][1],key[9][1],key[-2][1] = '20180612','20180612','LCA000','1'
key = "&".join(["=".join(x) for x in key])
url = head + '?' + key
soup = BeautifulSoup(rq.get(url).text,'html.parser')
columns = [x.text for x in soup.select('.type01 tr th')]
last_page = int(soup.select('span .last')[0].get('onclick').split("(")[1].split(")")[0])
temp = [x.text.replace("\n","").replace("\t","").replace("\r","") for x in soup.select('.type01 tr td')]
result+=[temp[i:i+n] for i in range(0,len(temp),n)]
for page in range(2,last_page+1):
key = [x.split('=') for x in key.split("&")]
key[-2][1] = str(page)
key = "&".join(["=".join(x) for x in key])
url = head + '?' + key
soup = BeautifulSoup(rq.get(url).text,'html.parser')
temp = [x.text.replace("\n","").replace("\t","").replace("\r","") for x in soup.select('.type01 tr td')]
result+=[temp[i:i+n] for i in range(0,len(temp),n)]
time.sleep(2) # FOR MANAGEMENT THE TRAFFIC
import csv
with open('result.csv', 'w', newline='') as csvfile:
csv_writer = csv.writer(csvfile, delimiter=',', quotechar='|', quoting=csv.QUOTE_MINIMAL)
for item in result:
csv_writer.writerow(item)
!head result.csv