본문 바로가기

카테고리 없음

소싱기 제작 #3 네이버쇼핑 정보 가져오기

안녕하세요. 부업아빠입니다.

이번 강의 유튜브 보시고 어렵다는 의견들이 보이는데 사실 이번 부분이 가장 난이도 있는 부분이며 앞으로는 여기서 살을 조금씩 보태거나 반복되기 때문에 수월하실거라 생각됩니다.

완벽히 이해하시기보다는 저도 모르는 부분이 더 많기 때문에 맥락만 이해하시면서 어떻게 짜집기할것인가에 초점을 맞추시면 활용하시는데 도움되실듯 합니다.

이번엔 HTML을 이용해서 네이버 쇼핑의 웹페이지 정보를 가져와볼께요.

HTML은 웹페이지를 만들기 위한 언어입니다. 우리몸이 여러 부위로 이루어져 있는 것처럼 HTML은 또한 웹페이지에 보이는 이미지, 글자 등 하나하나의 요소들이 합쳐진 하나의 완성체입니다. 이것을 이용해서 웹페이지를 구성하는 요소들 즉 상품명이나 등록일자 구매건수 가격 배송비 등을 가져와보겠습니다.

 

 

<12178라인>

지난번 강의에서 ComObjCreate 를 이용해서 인터넷 익스플로러와 연동하였고 연동 매개변수는 wb라고 임의로 지었습니다. 앞으로 웹에 필요한 명령을 넣을때는 항상 wb.~ 이런 형식으로 명령을 짓게 됩니다. 

outerHTML이란 문구를 이용해 웹페이지 전체 요소를 info 변수에 저장하였습니다. 이 부분은 당장 활용할 것은 아니라서 나중에 활용하는 시점에 다시 언급하겠습니다.

 

<12179라인>

상품명을 가져오는 부분입니다. 웹페이지의 요소를 가져오는 방법은 getElements 명령입니다. 그 뒤에 붙은 Class는 속성의 종류인데요. 직접 웹페이지 소스를 보시면서 하시면 이해가 쉬우실 겁니다. 니트/스웨터 카테고리 해외직구탭에서 1위 상품의 상품명을 가져온다고 가정해보겠습니다. 해당 웹페이지를 크롬에서 먼저 열어주시구요. 

키보드의 Ctrl+Shift+C 를 동시에 누릅니다. 그리고 화면에서 마우스 포인터를 움직여보면 아래처럼 파랗게 영역표시가 되는 것을 알 수 있습니다.

 

 

이걸 이용해서 속성값을 찾으려 합니다. 정확하게 상품명에 포인터를 가져가서 왼쪽 클릭합니다. 그럼 아래 이미지처럼 우측에 HTML요소들이 보이는 창이 있고 해당 요소부분이 파랗게 되어있습니다. (소스보는 창이 아래나 다른 위치에 있을수도 있습니다.)

 

우측창에서 class="basicList_link__1MaTN"  이 부분을 주목해주시면 됩니다. class가 속성 종류이고 basicList_link__1MaTN 가 속성의 값입니다. 

오토핫키 코드 getElementsByClassName("basicList_link__1MaTN") 이 부분이 해당 속성값을 가져오겠다는 명령입니다. 그럼 2위 상품명도 똑같이 크롬에서 Ctrl+shift+C 를 이용하시면 되는데요. 

해당 속성값이 basicList_link__1MaTN 으로 1위 상품과 동일하게 보이실 겁니다. 상품명을 다르게 가져와야 하는데 속성값은 같으니 오류가 날 수 밖에 없겠죠. 1위와 2위를 구분해주는 부분이 오토핫키 코드 getElementsByClassName("basicList_link__1MaTN") 의 뒤에 붙은 item(%num%) 이 부분입니다. 지난번 강의중 L0 라벨에서 num변수를 0이라고 미리 정의하였고 그럼 item(0) 이 되는데 이건 1위 상품명 위치입니다. item(1)은 2위가 되는것이고 item(39)가 1페이지의 마지막 순위 40위의 상품명이겠죠. num++ 명령을 이용하면 num변수를 1씩 증가시킬수가 있어서 저는 이것을 활용하여 1위부터 40위까지 상품명을 추출할 것입니다. 이건 나중에 말씀드리겠습니다. 

 

<12180~6라인>

나머지 항목들도 위와 같이 크롬에서 속성값을 찾아 가져오는 방식입니다. dayTotal은 웹페이지에서 상품명 아래에 있는 리뷰/구매건수/등록일/찜수 등이 표시된 부분입니다. Price는 판매가격, dPrice는 배송비, MallCate는 카테고리, Mallname1은 상품명 우측에 쇼핑몰 정보입니다. 카탈로고(가격비교) 제품의 경우 배송비가 다른 쇼핑몰과 엉켜서 잘못 표기되는 오류가 있었는데 dPrice라는 라벨을 별도로 만들어서 다른 쇼핑몰과 엉키지 않도록 했습니다. (이부분은 중요한건 아닌것 같아 설명 생략하겠습니다)

 

오토핫키 아래에 보이는 코드인 X3.Activecell.Offset(0,2).value := title 등의 명령을 통해 엑셀에 잘 입력되는지 테스트 해볼 수 있습니다. X3는 지난번에 엑셀과 연동하면서 지은 변수명이며 Activecell.Offset(0,2).value := title은 현재 선택된 셀로부터 아래로 0칸, 오른쪽으로 2칸 떨어진 곳에 title변수내용을 즉 상품명을 입력하겠다는 뜻입니다.선택된 셀이 A2셀이므로 그옆으로 2칸 떨어진 C2셀에 상품명이 들어갑니다. 이런식으로 다른 정보들도 각 셀에 정확히 들어오는지 확인해보시고 입력되는 셀의 위치를 변경하고 싶다면 Offset(숫자,숫자) 이 부분을 수정해주시면 되겠습니다. 

 

다음 강의에서는 썸네일 이미지 다운로드 하는 방법과 가치 있는 상품들(벤치마킹할만한 상품들) 내 기준에 맞게 선별하는 방법을 말씀드리겠습니다. 감사합니다.

 

 

 

 

 

 

 

부아소싱기 3강.ahk
0.34MB