스팀잇 태그 목록 모두 가져오기

in #kr-dev7 years ago

스팀잇을 이용해서 뭔가 끄적이고 싶긴 한데, 시간이 그다지 많지 않네요.
요즘은 저도 대세 언어인 자바스크립트에 많은 시간을 할애 하고 있습니다.
프런트 엔드는 20대, 백엔드는 3,40대, 50대 이상은 Perl 과 C 를 쓴다는데,
저는 20대인가 봅니다. ^^

스팀잇은 API 가 잘 되어있지 않은 것 같아요.
구글링이나 스택 오버플로우의 도움이 무척 필요합니다.
스팀잇 내에도 API 를 가지고 이것저것 하는 포스팅이 많으니 검색을 활용해 보시기 바랍니다.

기본적으로 필요한 도구

코드

  • steem.api.getTrendingTags 를 사용합니다. 첫번째 인자는 태그명으로 "여기부터 가져와" 입니다.
  • 두번째 인자는 가져올 갯수입니다. 100개까지 가능할 겁니다. 여기서는 11개를 읽습니다. 첫번째는 "여기부터"라 이미 이전에 읽은 것이므로 패스
  • 세번째 인자는 콜백 함수인데, 여기에 설명이 되어있습니다.
    https://steemit.com/kr/@inspiredjw/javascript-callback-function (Thanks to @inspiredjw )
  • 11개를 가져오고 마지막 태그명을 이용해서 거기부터 또 얻어오는 방식으로 동작합니다.
  • 콜백 함수에서 재귀를 사용합니다. *
var steem = require('steem');

var last_tag = "";
var tags = [];
var FETCH_COUNT = 10;

(function run() {
    steem.api.getTrendingTags(last_tag, FETCH_COUNT + 1, function(err, result) {
        if ( typeof result === "undefined") {
            console.log("---end");
            // tags.forEach(function(e) {
            //     console.log(e);
            // });
            return;
        }
        for (var i = 1; i < FETCH_COUNT + 1; i++) {
            tags.push(result[i].name);
            console.log(result[i].name);
        }
        last_tag = result[FETCH_COUNT].name;
        run();
    });
})();


* 콜백에서 재귀호출을 하는데 이거 안하게 하는 방법에 대해서 이야기해보는 것도 좋을 것 같습니다.

Sort:  

이 유익한 기사를 우리와 공유해 주셔서 감사합니다.

Congratulations @kdj! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

Award for the number of upvotes

Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here

If you no longer want to receive notifications, reply to this comment with the word STOP

By upvoting this notification, you can help all Steemit users. Learn how here!

제가 필요로 하는 내용을 올리셨네요 ㅎㅎ 감사합니다~

다양한 태그가 있군요. ㅎ
차차 공부하기 위해 눈여겨 보고 갑니다.

Coin Marketplace

STEEM 0.18
TRX 0.13
JST 0.029
BTC 58049.95
ETH 3128.51
USDT 1.00
SBD 2.21