국립중앙박물관 유리건판 크롤링 툴

업무를 하다보면, 가끔 프로그래밍이 필요해지는 경우가 온다. (취미반, 업무반)

이번에 국립중앙박물관에서 소장한 유리건판 고화질 이미지를 공개했다.

국립중앙박물관 소장 유리건판 사진 고화질 공개

그래서 위의 사진을 고화질로 확보하는 업무가 생겼는데…

처음 시도한 방법은 담당자에게 전화해서 해당 파일을 CD나 기타 방법으로 구할 수 있는지 확인하는 것이었다. 확인한 결과, 이미 공개하고 있으므로 따로 CD나 기타 방법으로 제공은 하지 않는다고 했다.

사진의 건수는 38,170건. 위에서 다른 방법이 없다면… 보통은 포기하겠지만…

간단하게 코드를 구현해서 크롤링 시도했다. 된다. 거기다가 대부분의 데이터를 GET 방식으로 전달하다보니 심플하게 파라미터만 수정해도 바로 조회가 된다.

먼저 해당 페이지에 접속하게 되면

http://www.emuseum.go.kr/storySearch?storySeq=1101

라는 주소를 얻을 수 있다. 해당 파라미터를 보면 storySeq라는 파라미터에 1101이 들어가있다.

즉, 유리건판의 storySeq는 1101이라는 뜻이다.

다음은 상세이다.

http://www.emuseum.go.kr/detail?cateClass=&cateListFlag=&keyword=&pageNum=[PHOTO_NUMBER]&rows=&sort=title&highQualityYn=&isImgExistOp=&mckoglsvOp=&isIntrstMuseumOp=&filedOp=&detailFlag=&dq=&ps01Lv1=&ps01Lv2=&ps01Lv3=&mcSeqNo=&author=&ps06Lv1=&ps06Lv2=&ps08Lv1=&ps08Lv2=&ps09Lv1=&ps09Lv2=&ps09Lv3=&ps09Lv4=&gl05Lv1=&gl05Lv2=&ps12Lv1=&ps15Lv1=&culturalHerNo=&publicType=&detailedDes=&thema=&storySeq=1101&categoryLv=&categoryCode=&mobileFacetIng=&location=&facet1Lv1=&facet1Lv2=&facet2Lv1=&facet3Lv1=&facet3Lv2=&facet4Lv1=&facet4Lv2=&facet5Lv1=&facet5Lv2=&facet5Lv3=&facet5Lv4=&facet6Lv1=&facet6Lv2=&facet7Lv1Selected=&facet7Lv1=&facet8Lv1=&keywordHistory=&showSearchOption=&intrstMuseumCode=&returnUrl=%%2FstorySearch

위의 주소가 바로 상세 주소다. 사실 많은 파라미터가 있는데 해당 파라미터를 분해하면 아래와 같이 된다.

http://www.emuseum.go.kr/detail
?cateClass=
&cateListFlag=
&keyword=
&pageNum=[PHOTO_NUMBER]
&rows=
&sort=title
&highQualityYn=
&isImgExistOp=
&mckoglsvOp=
&isIntrstMuseumOp=&
filedOp=
&detailFlag=
&dq=&ps01Lv1=
&ps01Lv2=
&ps01Lv3=
&mcSeqNo=
&author=
&ps06Lv1=
&ps06Lv2=
&ps08Lv1=
&ps08Lv2=
&ps09Lv1=
&ps09Lv2=
&ps09Lv3=
&ps09Lv4=
&gl05Lv1=
&gl05Lv2=
&ps12Lv1=
&ps15Lv1=
&culturalHerNo=
&publicType=
&detailedDes=
&thema=
&storySeq=1101
&categoryLv=
&categoryCode=
&mobileFacetIng=
&location=
&facet1Lv1=
&facet1Lv2=
&facet2Lv1=
&facet3Lv1=
&facet3Lv2=
&facet4Lv1=
&facet4Lv2=
&facet5Lv1=
&facet5Lv2=
&facet5Lv3=
&facet5Lv4=
&facet6Lv1=
&facet6Lv2=
&facet7Lv1Selected=
&facet7Lv1=
&facet8Lv1=
&keywordHistory=
&showSearchOption=
&intrstMuseumCode=
&returnUrl=%2FstorySearch

파라미터를 분해하면 사실 대부분의 값이 비어있고, pageNum과 storySeq만 값이 있다. storySeq야 이전 페이지에서 무슨 코드인지 알 수 있고… pageNum이 바로 사진 자료다.

즉, pageNum 값만 1부터 38170까지 변경해주면 모든 사진을 조회할 수 있다는 것이다. 이것만 알아도 금방 적용이 가능하다. 다른 것들이야 검색을 통해 찾으면 되니말이다.

그래서 위의 정보를 바탕으로 코드를 간단하게 작성하였고 실제 동작하는 것을 확인할 수 있었다.

전체 코드는 아래 링크에서 확인 가능하다.

국립중앙박물관 유리건판 이미지 크롤링 툴

해당 코드를 이용하면 쉽게, 그리고 사람 손을 거치지 않고 이미지를 받을 수 있다.

그렇게 좋은 코드도 아니고, 코드도 이전에 쓰던 코드 재활용 한 것이지만 혹, 필요하거나 참조할 사람이 있을까 싶어 정리해둔다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다