tag에 따른 글을 시간 순으로 찾을 수 있는 방법을 알아보자.
1. tag에 맞는 최신 글 찾는 함수
이것을 하기 위한 함수는 다음과 같다.
steem.api.getDiscussionsByCreated({
tag: 'jjangjjangman'
limit: 10,
start_author: '',
start_permlink: '',
}, function(err, result) {
console.log(err, result);
});
이 함수의 인자는 아래와 같다.
- tag : 찾고자 하는 tag 문자열
- limit : 찾고자 하는 글의 최대 수
- start_author : 최초 limit 만큼 찾은 후 다음 글을 연속해서 찾을 때 사용함. 최근에 찾은 마지막 저자
- start_permlink : 최초 limit 만큼 찾은 후 다음 글을 연속해서 찾을 때 사용함. 최근에 찾은 마지막 글의 링크
최초에 검색을 할때는 start_author와 permlink 값은 필요가 없다. 다만 연속해서 다음 글을 찾고 싶을 때는 마지막 글의 저자와 링크를 넣어주면 된다.
함수의 인자로 길게 쓰면 보기가 좋지 않으므로 이 함수의 인자를 모아서 변수를 정의해보자.
var query = {
"tag": "jjangjjangman",
"limit": 10
}
steem.api.getDiscussionsByCreated( query, function (err, posts) {
코드 읽기가 한결 편해진다. 이렇게 정리한 코드는 아래와 같다.
var query = {
"tag": "jjangjjangman",
"limit": 10
}
steem.api.getDiscussionsByCreated( query, function (err, posts) {
if (err == null) {
for (var i = 0; i < posts.length; i++) {
var str = "[" + (i + 1) + "] " + posts[i].created + ' ; ' + posts[i].author + ' ; '
+ posts[i].permlink + ' ; ' + posts[i].title + ' ; ' + posts[i].pending_payout_value
console.log(str)
}
}
else {
console.log(err.message.split("{}")[0])
}
});
요즘 대세인 "jjangjjangman" 태크로 검색한 최근 글들이다.
소스코드는 아래 github 사이트에 있다.
https://github.com/multiwhs/steem-js/blob/master/app_get_new_post_with_tag.js
2. tag에 맞는 인기글(Hot), 대세글(Trend) 찾는 함수
steemit에서 볼 수 있는 Hot(인기글), Trend(대세글)를 볼 수 있는 함수도 있다. getDiscussionsByCreated와 같은 인자를 갖는다.
- steem.api.getDiscussionsByHot(tag, limit) // Hot (인기글)
- steem.api.getDiscussionsByTrending(tag, limit) // Trending(대세글)
3. 응용해 보기
예를들어 5일이 지났는데 보팅 받은 금액이 $1.00이하인 글 리스트를 찾는다고 가정하자. 대략적인 코드는 이렇게 구성될 것이다.
while(!end) {
글 목록을 가져온다.
for ( 글 목록 수만큼 ) {
if ( (현재 일자 - 생성일자) > 5일 and (현재 일자 - 생성일자) < 6.5일 ) {
if (payout 예정 값 < 1 )
해당 글 출력
if (현재 일자 - 생성일자) > 6.5일 ) // 더 이상 보팅을 할 수 없다.
end = true // while 종료
}
query.start_author = 마지막 글 저자
query.start_permlink= 마지막 글 링크
}
이전 글 보기
Node.js로 ..(1) :원하는 작가들의 최신 글 리스트 받기
Node.js로 ..(2): 디버깅 방법 및 excel로 활용하기