본문 바로가기
  • We are looking for banner advertisers Please refer to the email below
HTML

[HTML] 쇼핑몰 상품 이미지 대량 다운받기 (feat.JavaScript)_서버이관 (브라우저 캐시이용)

by 크론크롱 2019. 11. 29.
반응형

 

업무중 사이트의 상품이미지를 대량으로 다운받아야할때가 있습니다.

제경우에는 IT회사를 근무중에 있었고 특정 고객사에서 타 솔루션을 통해 쇼핑몰 및 홈페이지를 호스팅받고있는데,

쇼핑몰을 리뉴얼하여 새로 저희회사를통해 서비스를 받기를 희망하였습니다

현재 운영중인 기존 서버에서의 이미지서버는 오픈이 불가하고 상품데이터는 전부 이관이되어야하므로 기존서버에서 긁어와야했습니다.

 

방법은 아주 여러가지방법이 있을것으로 추정됩니다, 하지만 저는 이것을 프로그래밍까지 하면서 일을 복잡하게 풀고싶진않았습니다 아주 간단하면서 아주빠르게 처리하고싶었습니다.

 

물론 고객사에서도 해당내용은 정확히 알고있어서 100% 일치하는 데이터가 이관되지않더라도 이해하겠다라는 내용이 전제가 깔려있어 가능했던방법입니다.

 

자 방법은 이렇습니다. 특정사이트 및 홈페이지를 방문시에 로컬피씨에서는 이미지 또는 스크립트 등 내부 캐시로 저장하게됩니다

 

자. 이제 첫번째로 준비해야하는것은 브라우저 캐시를 이용해야하니 브라우저 캐시가 저장되는 위치를 먼저 살펴봅시다.

 

크롬 캐시 폴더 기본값 경로입니다.

C:\Users\<계정이름>\AppData\Local\Google\Chrome\User Data\Default\Cache

 

위와같은경로로 되어있습니다.

 

폴더를 들어가봅시다.

 

뭔가 굉장히 많죠..?

 

여태 접속했었던 사이트의 이미지파일 또는 자바스크립트, HTML이 내부로컬에 저장되어있었던겁니다

로컬에 저장되면 다음번에 접속했을때는 다시 호출하지않고 내부 보관중인 캐시로 대체하여 보다 속도를 상향하여 사이트를 띄우기위해 로컬에 자정하고있었던겁니다!

 

자 바로 이걸이용하는건데요.

우선 용량을 늘려줍시다.

 

인터넷익스플로러 창을 띄워줍니다.

그리고, 옵션창을 열어줍니다.

 

 

위의 설정버튼을 눌러주신뒤,

우리는 이미지들을 최대한으로 저장해야하기때문에 최대한 용량을 늘려줍시다.

 

 

위의 용량을 최대한으로 늘려줍니다.

 

자 그리고 기존 캐시파일은 전부 날려주도록합니다.

 

저는, 주로 크롬브라우저에서 작업을 하기떄문에 인터넷익스플로러에서 보관하고있는 캐시는 전부 필요없어 전부 날렸습니다.

 * 캐시를 전부삭제한다고해서 문제되는건 단지 다시 캐시를 인터넷으로부터 받아와야하는것, 또는 이전에 암호를저장해둔게 날아가게되어 다시 비밀번호를 입력해야한다는것. 크게 사용상에는 문제없습니다.!

 

과감하게 삭제합시다.

 

위와같이 삭제하게되면 아래의 폴더에서 모든정보를 삭제하게됩니다.

 

 

자 준비는 이제 끝났습니다.

 

그다음 상품이미지를 받아야될것같습니다.

 

이때 간단한 html을 만들어 상품이미지를 받도록하겠습니다.

 

스크립트는 아래와같습니다.

 

<html>

<head>

<script>

funfunction open_win() {
setTimeout("window.open('사이트주소','aaa')",5000);
setTimeout("window.open('사이트주소2','aaa')",10000);
}

</script>

</head>

<body onLoad="open_win();">

 

캐시를 통해 이미지를 다운받는 html

 

<body>

</html>

 

위와의 스크립트를 입력하게되면 5000초마다 사이트주소를 이동하며 캐시를 다운받게됩니다.

 

 

자 캐시폴더에서 PNG파일이 생성되었죠? 바로 해당 사이트를 접근하게되어 내부피씨에서 다운받은 이미지들입니다.

 

위의 사이트주소를 이동해가면서 이미지파일은 받았는데. 이미지파일만 을 따로 어떻게 이동시킬것인가..

 

제경우에는 이미지를 가르키는 이미지서버의 풀네임 주소를 확인할수있었습니다.

그래서 해당상품이 어떤상품이미지명으로 되어있는지는 확인되므로 여기서 한번더 도스 명령어를 사용하였습니다.

 

위의 파일들을 먼저, 바탕화면 또는 작업폴더로 전부이동시킨뒤에.

도스로 해당 폴더로 접근합니다.

 

그다음 아래의 명령어를 활용했습니다.

 

move  파일명.jpg 상품코드\파일명.jpg

불러오는 중입니다...

 

위와같이 무브 명령어를 실행하여 해당상품코드의 파일에 해당파일이 이동되게끔 전부 배치하여 넣었습니다.

 

위와같이 작업시에는 비교적 복잡하지않은방법을통해 작업속도와 작업시간이 비교적빠릅니다만

아주 치명적인 결함으로는 상품의 이미지명이 같다면.. 중간중간 비게되는 상품이 종종보이실겁니다..

그경우는 한번더 작업해주시거나.. 수기로 처리를....

저는 그런경우가 많지않았기때문에 수기로처리했습니다..

 

그리고 하나더, 캐시용량이 크지않기때문에 일정 상품페이지를 이동했을때 캐시가 저장되다가 저장하지않는 증상도있어 누락의 경우가있긴합니다..

 

가장좋은방법으로는 FTP를 진작에 열어 확인하면 좋겠지만 여건이 되지않아 캐시를통해 저장해봤습니다..

그래도 몇백개, 몇천개나되는 사이트를 일일히 클릭하여 다운받는다는것은 엄청난 노가다를 요하기때문에 저는.. 퇴근시간에 위의 스크립트를 실행후 퇴근하여 다음날 아침에 도스명령어를 사용하여 자료를 모았습니다..

 

물론 위에서 언급드린것처럼 100% 일치해야한다 라는 조건으로 작업한다면 위의작업이 안맞을수도 있습니다만..

시간도 부족하고 아주빠르게 간단하게 처리해야하는상황이였기때문에 로컬캐시를 이용하여 작업해봤습니다

 

반응형

댓글