NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • 팁 앤 테크
  • 매뉴얼

    팁과 테크니컬 노하우를 확인하세요.

    팁 앤 테크

    팁과 테크니컬 노하우를 확인하세요.

    본 사이트의 컨텐츠는 저작권법의 보호를 받으므로 무단 복사, 게재, 배포 등을 금합니다.

    에디터 웹크롤링 매크로 - 비트코인 실시간 시세에 따라 매매하는 방법.

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 요즘 웹 API의 [ 웹서비스 ]를 통해 여러가지 크롤링하는 방법에 대해 알아보고 있는데요. [ KB차차차에서 중고차 크롤링하는 방법 ]을 보면, 실시간으로 올라오는 매물을 빠르게 잡을 수 있습니다. 이외에도 [ 영어 단어를 입력하면 자동으로 해석 해주는 매크로 ]와 [ 네이버 연관 검색어 크롤링 ]도 가능합니다. 웹크롤링에 관련된 내용을 몇개 따라해보면 여러가지 업무를 자동화할 수 있습니다. 오늘은 비트코인 시세를 실시간으로 가져오고, 시세에 따라서 사거나 파는 매크로를 만들어 볼께요. 이 예제를 테스트하기 위해 엔지엠 매크로를 실행하고, 새로운 스크립트를 추가하세요.

    cnOuw3h.gif

     

     

    비트코인 시세를 가져오는 방법을 먼저 확인해야 하는데요. [ 업비트 ] 사이트에 접속을 해봅시다. 아래 그림과 같이 비트코인 시세가 실시간으로 변화하는걸 볼 수 있을거예요.

    CdwIgAe.png

     

     

    업비트 말고, [ 빗썸 ]도 비슷할거예요. 코인 시세 요청(Request)에 대한 응답(Response) 포멧만 다를거예요. 분석해보지는 않았지만요^^;

    i6AVJQe.png

     

     

    구글 크롬에서 업비트에 접속한 후 F12를 눌러서 개발자도구를 실행하세요. 그러면, 주기적으로 비트코인 시세에 대해 응답을 받을 수 있습니다. 아래 그림과 같이 Header 탭에서 요청 주소(Request URL)를 확인할 수 있습니다. 이 주소를 복사한 후 새로운 브라우저에 붙여넣기 해보세요.

    oYJzj5m.png

     

     

    주소는 아래와 같습니다. 물음표 뒤에 파라메터를 보면, CRIX.UPBIT.KRW-BTC라고 되어 있는데요. 업비드의 현재 비트코인 원화 시세를 가져온다는걸 예상할 수 있습니다. 실제로도 그렇구요^^; 그리고, count=1이라고 되어 있는데 이 값을 변경해보면 시간에 따른 이력(History)을 확인할 수 있습니다.

    https://crix-api-cdn.upbit.com/v1/crix/candles/minutes/30?code=CRIX.UPBIT.KRW-BTC&count=1

    h0f1X4U.png

     

     

    10개를 가져오면 아래와 같이 표시됩니다.

    Xo9nqxx.png

     

     

    가독성이 떨어져서 확인하기가 어려우니 [ Json 포멧 변환 사이트 ]에서 확인 해볼께요. 좀 더 분석하기가 좋아졌습니다^^; 그런데, timestamp를 보면 일반적인 날짜 포멧이 아니라서 일반인이 보면 언제 시세인지 알기가 어렵습니다. 그래서, timestamp를 날짜 형식으로 변환해주는게 좋을거 같아요.

    iS61ZnJ.png

     

     

    timestamp를 날짜로 변환해주는 [ 사이트 ]에 접속한 후 "1657079390" 값을 입력 해보세요. 이제 언제쯤 비트코인 시세 데이타인지 쉽게 확인할 수 있게 되었습니다.

    NN60wMS.png

     

     

    [ 웹서비스 ] 액션을 스크립트에 추가하고, API 주소 속성에 "https://crix-api-cdn.upbit.com/v1/crix/candles/minutes/30?code=CRIX.UPBIT.KRW-BTC&count=1" 입력 해줍니다. 컨텐츠 처리 옵션은 Json으로 선택하세요. 위에서 확인했듯이 요청에 대한 응답으로 Json 포멧의 결과를 보내주기 때문입니다.

    JcNjNop.png

     

     

    스크립트를 실행하면, 업비트로부터 비트코인 시세 정보를 요청하고, 응답으로 현재 시세에 대한 정보들을 받게됩니다. 응답 결과를 클릭하면 아래 동영상과 같이 Xml Json 시각화 도구가 표시됩니다. 트리 목록 형태로 되어 있어서 내용을 확장해보면 안쪽의 상세 내용을 확인할 수 있습니다.

     

     

    Json 텍스트를 파싱해서 처리하기 위해 [ 변수 ]를 하나 추가하고, [ Json 모델 ] 액션으로 필요한 값을 추출합니다. 웹서비스에서 받아온 응답 메세지를 변수에 저장하고, Json 모델은 아래 그림과 같이 변수로부터 데이타를 가져옵니다.

    odNOjG5.png

     

     

    속성 이름에 "array/tradePrice"를 입력하고 실행 해보세요. 아래 그림과 같이 "26,544,000" 비트코인 시세를 가져올 수 있습니다.

    yJGUDGb.png

     

     

    참고로, Json 포멧이 배열인 경우 속성 이름은 array로 시작해야 합니다. 배열이 아닌 객체라면 속성 이름을 적어줘야 합니다. 이전 예제들이 전부 속성이어서 배열 처리에 대해 설명할 타이밍이 없었네요. 대부분 객체로 되어 있어서 array를 사용할일은 거의~ 없을겁니다. 하지만, 아래와 같이 이름이 없는 배열은 array로 시작해야 정상적으로 파싱할 수 있습니다.

    [
      {
        "id":"a119",
        "name":"홍길동",
        "age":"24"
      },
      {
        "id":"a120",
        "name":"임꺽정",
        "age":"42"
      }
    ]

     

     

    [ 숫자 체크 ] 액셔을 추가하고, 변수로 부터 비교 대상 값을 가져옵니다. 비교할 숫자에는 2천만원을 입력했는데요. 2천만원보다 크면 비트코인을 판매하는 로직입니다.

    nuXykzZ.png

     

     

    [ 메세지 박스 ] 액션을 사용하면, 사용자에게 알람을 표시하고 동작을 선택할 수 있도록 매크로를 만들 수 있습니다.

    vE5uMwi.png

     

     

    이 스크립트를 실행하면 현재 비트코인 시세가 2600만원정도 하니까~ 무조건 판매하는 로직으로 넘어갈겁니다. 그래서 메세지가 표시되죠. 두번째로 비교할 숫자를 3천만원으로 변경하고 다시 실행 해보세요. 이번에는 비트코인을 판매할지 물어보지 않고 스크립트가 종료되게 됩니다. 디테일한 부분들은 좀 더 보완해야 하겠지만, 첨부되어 있는 이 스크립트를 응용하면 완성도 있는 코인 자동 매매 매크로를 만들 수 있을겁니다.

     

     

    개발자에게 후원하기

    MGtdv7r.png

     

    추천, 구독, 홍보 꼭~ 부탁드립니다.

    여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~

    감사합니다~

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천0 비추천0

    첨부파일

    댓글목록

    등록된 댓글이 없습니다.