위처럼 의료기기를 검색하는 사이트( https://emedi.mfds.go.kr/portal )의 검색결과를 엑셀로 가져오는 예시입니다. 여러가지 항목으로 검색할 수 있는데일단 명칭(query2)과 업체명(entpName) 으로 검색하는 예시 파일을 만들어 보았습니다. 첨부파일 매크로 허용해서 열고명칭이나 업체명을 입력하고 시작페이지 ~ 마지막 페이지를 입력하고마우스 우클릭해서 getMed 를 실행합니다.위와 같이 화면입니다.내부적으로 xmlHttp를 이용해서https://emedi.mfds.go.kr/search/data/list?chkList=1&nowPageNum=1&tabGubun=1&query2=브러쉬&entpName=신원&chkGroup=GROUP_BY_FIELD_01&pageNum=1&se..
JSON 검색 결과
관련: 지식인 아직 작동하는 HTML 요소를 이용하는 방식의 VBA입니다.https://kin.naver.com/qna/detail.naver?d1id=1&dirId=102020101&docId=436801616 아래는 좀 더 빠른 속도를 위해 JSON 데이터를 검색하는 방식입니다.교보문고에서 검색할 때 판매중인 자료는 실시간으로 간단한 데이터들을 Json형식으로 가져옵니다.이 API를 이용해서 Json 형식으로 빠르게 도서 정보를 가져오는 방법입니다. https://search.kyobobook.co.kr/srp/api/v1/search/autocomplete/shop?callback=autocompleteShop&keyword=9788954442688이런 식으로 검색하면 아래와 같은 JSON 데이터를..
관련: 지식인 셀레니움은 화면을 클릭하거나 정보를 입력해서 조회한 결과 값을 불러올 때 효율적입니다. https://klayswap.com/assets 이 사이트의 경우는 JSON 데이터로 한번에 34페이지의 정보를 불러와서 실시간으로 10개씩 보여주는 구조이다 보니 일반 HTTP접속으로 JSON데이터를 한번에 가져와서 파싱하는 것이 훨씬 효율적입니다. 속도도 더 빠릅니다. F12 개발도구로 살펴보면 가격에 대한 JSON데이터는 아래 주소로 받아옵니다. https://s.klayswap.com/stat/tokenInfo.min.json 그리고 한글 이름에 대한 데이터는 아래 주소로 받아옵니다. https://s.klayswap.com/data/klayswap/tokens.json 대개 ..
관련 답변: 지식인 엑셀 연결할 필요 없이 파워포인트에서 직접 해당사이트의 데이터를 크롤링해오도록 했습니다. 네어버 finance의 경우 각각의 데이터를 JSON형식으로 서버에서 받아옵니다. 달러 환율 JSON데이터 두바이유 JSON데이터 위와 같은 축약된 형태의 데이터형식이 JSON으로 이 데이터 형식은 서버자료를 가져올 때 주로 사용됩니다. VBA에서는 JSONConverter 변환 라이브러리를 이용했습니다. (Dictionary를 사용했기 때문에 도구>참조에서 Microsoft Scripting Runtime 체크 필요함) 서버의 데이터를 가져올 때 Set JSON = ParseJson(JSON문자열)로 파싱해서 JSON("속성1")("속성2") 혹은 배열인 경우 JSON(1)("속성1")(..
참고: 지식인 질문글 화면 및 주요 코드: 실행 결과: 질문자가 원하는 결과 문자열이 JSON 문자열과 거의 흡사하기 때문에 VBAJSON 라이브러리를 활용하였습니다. 엑셀 데이터의 첫번째 행은 카테고리로 읽어들이고 나머지 행은 Dictionary 구조를 이용해서 데이터 구조를 만들어서 최종적으로 ConvertToJson 함수를 이용해서 items 배열(컬렉션)을 Json 문자열로 변환합니다. 원래 JSON데이터는 카테고리명의 양쪽에 따옴표가 있는데 삭제시켰습니다. 따옴표를 원래대로 놔두려면 해당 부분(따옴표를 제거하는 for 문 부분)을 주석처리하면 됩니다. 더보기 'Add Reference to Microsoft Scripting Runtime Library Sub Convert() Dim..
1. 네이버카페 전체게시글에서 최신글을 가져오는 매크로입니다. 카페명을 입력하고 커피잔모양 아이콘을 누르면 됩니다. 시작페이지와 마지막페이지를 지정하여 범위를 지정할 수 있습니다. 또한 페이지당 글 수를 지정할 수 있습니다. 공지사항을 먼저 검색한 후에 일반 게시물을 검색합니다. 내부적으로 PC버전이 아닌 모바일 버전으로 접속하여 게시물목록을 가져옵니다. PC버전은 HTML Table 구조로 문서를 모두 받아와야하지만 모바일 버전은 Json 데이터만 가져오면 되기 때문입니다. 매 페이지마다 1초식 지연시간을 두었습니다. 게시물 ArticleID 번호를 클릭하면 기본브라우저로 해당게시물로 링크합니다. 모바일 최신글 JSON 데이터는 아래와 같은 구조입니다. 코드는 아래와 같습니다. 더보기 '// Micro..
위 게임 사이트의 각 캐릭터의 능력치, 장비 등의 자료를 엑셀로 가져오는 예시입니다. 아래 그림의 파란색 네모 부분을 가져오는 것입니다. 엑셀화면은 아래와 같습니다. 웹사이트 자료 가져오는 연습 삼아 만들어 보았습니다. 위 사이트는 간단한 프로필 즉, 레벨이나 등급 등은 일반 html로 받아오고공격, 방어율, 자세한 장비 보유 유무 등은 JSON 형태로 실시간으로 받아와서 html로 뿌려주고 있네요. 일반html은 winhttp, xmlhttp 를 이용해서 html을 받아오면 되고JSon 데이터는 간단한 문자열 구조인데 문자열을 나눌(파싱할) 때 VBA-JSON이라는 라이브러리를 이용하여 파싱할 수 있습니다. 캐릭터이름을 새로 추가 입력하고 나서 우측 상단 새로고침 아이콘을 누르면 테스트 목적으로만 사용..
관련 지식인 질문:https://kin.naver.com/qna/detail.nhn?d1id=1&dirId=102&docId=313829165&page=1#answer1 작동설명:매크로 허용하고 파일을 열고우측상단 새로고침 아이콘을 누르면 네이버 증권에 접속하여 (PC버전보다 모바일사이트에 접속)Json 데이터를 수집하고이를 VBAJSON을 이용하여파싱하여엑셀 시트에 입력해준다. 코드는 해당종목으로 하이퍼링크가 추가되고전일비와 등락률에는 조건부 서식이 적용되고또한 아이콘 서식이 적용된다. PC버전 네이버 증권사이트에 접속하여HTML데이터를 HTML Object Library와 GetElementsByTagId 를 이용하여 파싱할 수도 있겠으나각 페이지별로 20여페이지를 로딩/파싱해야해서 불편하여이번에는 ..
최근댓글