search
クリプト

カスタム ALISランキングサイトの作り方(3)

はるか先生's icon'
  • はるか先生
  • 2018/11/18 11:37
Content image


さて昨日の(2)までで取得したデータをスプレッドシートに書き込むことができましたね。進めていきましょう。

取得した記事のリストですが、作成したコメント数ランキングにとって致命的なコメント数の情報がありません。実はコメント数は記事それぞれで調べなおさなくてはいけません。


コメント数を求める


それぞれの記事のコメント数をそれぞれの記事のコメントを取得するAPIを用いて取得しました。下記の手続きを追加しています。

  var responseArticle = UrlFetchApp.fetch("https://alis.to/api/articles/" + results["Items"][i]["article_id"] + "/comments?limit=100").getContentText();

var resultsArticle = JSON.parse(responseArticle);

var commentCount =resultsArticle["Items"].length;

str = mySheets.getRange(i+1, 5).setValue(commentCount);


APIコマンド

"https://alis.to/api/articles/" + results["Items"][i]["article_id"] + "/comments?limit=100

を用いることによりコメントが得られます。記事はarticle_idで特定します。このarticle_idは初回のAPIで得られた値を挿入しています。


あとは前回と同様にJSON形式のデータをJSのオブジェクトに変換しています。今回はコメント数のみが欲しいので .lengthにてデータ数だけ手に入れてスプレッドシートに書き込み終了しています。

ここまで完成しました

Content image


コメント数ランキングとして並び替える

現在の並び順はALISが人気ランキングとして並べています。今回の目的はコメント数をベースにランキングを作ることです。上記のスプレッドシートでE列がコメント数となります。

エクセルのように特定の数値をベースに並び替えが可能です。これもコマンド一発です。

 mySheets.sort(5,false);

Eは5番目ですので1つ目の添字は5,二つ目のfalseは大きい順に並べる指定となります。ここをtrueにすると数字が小さいものから並び変えられます。

このコマンドを追加するとスプレッドシートは下記のようにコメントが多い順に並べられます。

Content image


ということでここまで作ったコードを再掲載しておきます。これを貼ればここまで順をおって作成した機能が動きますよ

function getAlisPopularArticle(){
var sheetidx ="スプレッドシートID";
var mySpread = SpreadsheetApp.openById(sheetidx);
var mySheets = mySpread.getSheetByName("シート1");

var response = UrlFetchApp.fetch("https://alis.to/api/articles/popular?limit=100&page=1").getContentText();
var results = JSON.parse(response);
Logger.log(results);

var count = results["Items"].length;
for (i=0;i<count;i++){
str = mySheets.getRange(i+1, 1).setValue(i+1);
str = mySheets.getRange(i+1, 2).setValue(results["Items"][i]["article_id"]);
str = mySheets.getRange(i+1, 3).setValue(results["Items"][i]["user_id"]);
str = mySheets.getRange(i+1, 4).setValue(results["Items"][i]["title"]);
str = mySheets.getRange(i+1, 7).setValue(results["Items"][i]["topic"]);
str = mySheets.getRange(i+1, 8).setValue(results["Items"][i]["eye_catch_url"]);

var responseArticle = UrlFetchApp.fetch("https://alis.to/api/articles/" + results["Items"][i]["article_id"] + "/comments?limit=100").getContentText();

var resultsArticle = JSON.parse(responseArticle);
var commentCount =resultsArticle["Items"].length;
str = mySheets.getRange(i+1, 5).setValue(commentCount);
}


定期的に情報を取得する

この情報取得を今回のシステムでは1時間に一回行なっています。この機能があるからこそGASを用いていたと言っても過言ではありません。

特定の関数を決まった周期で走らせることができます。

Content image

右から3番目の時計のマークをクリックします。

別画面にてトリガー設定の画面が開きます。右下のトリガーを追加を選びます。そうすると下記の設定画面が開きます。下記のように時間指定のトリガーを設定してください。また動作させる関するは自分の実行したい関数を選んで下さい

Content image

保存を押すと1時間置きに関数が実行されます。






これでデータ取得部分が完成しました。次回からは、取得したデーターをWebで表示することを行なっていきましょう。


続きはこちら


公開日:2018/11/18
獲得ALIS:32.29
Article registration Article registration
はるか先生's icon'
  • はるか先生
  • @haruka
ブロックチェーンの技術ビジネス/dAppsとProtocol周りが得意/ブロックチェーンの技術関連の寄稿

投稿者の人気記事
コメントする
コメントする
こちらもおすすめ!
Eye catch
クリプト

ジョークコインとして出発したDogecoin(ドージコイン)の誕生から現在まで。注目される非証券性🐶

昆布森ちゃん 2021/01/19
Like token Tip token
38.31 ALIS
Eye catch
クリプト

【DeFi】複利でトークンを運用してくれるサイト

KTAG 2021/02/22
Like token Tip token
54.01 ALIS
Eye catch
クリプト

NFT解体新書・デジタルデータをNFTで販売するときのすべて【実証実験・共有レポート】

otakucoin 2021/03/29
Like token Tip token
121.79 ALIS
Eye catch
クリプト

【初心者向け】JPYCを購入して使ってみました!

暗号資産ジョシ校生 蟻巣 2021/06/30
Like token Tip token
30.03 ALIS
Eye catch
クリプト

17万円のPCでTwitterやってるのはもったいないのでETHマイニングを始めた話

nnppnpp(んぺー) 2021/09/08
Like token Tip token
46.60 ALIS
Eye catch
クリプト

約2年間ブロックチェ-ンゲームをして

kaya 2021/10/06
Like token Tip token
61.20 ALIS
Eye catch
クリプト

【第8回】あの仮想通貨はいま「テレグラム-TON/Gram」

Taka 2021/07/24
Like token Tip token
69.90 ALIS
Eye catch
クリプト

Bitcoin史 〜0.00076ドルから6万ドルへの歩み〜

大田コウキ 2021/04/06
Like token Tip token
947.13 ALIS
Eye catch
クリプト

Polygon(Matic)で、よく使うサイト(DeFi,Dapps)をまとめてみた

ゆうき 2021/05/17
Like token Tip token
236.30 ALIS
Eye catch
クリプト

バイナンスの信用取引(マージン取引)を徹底解説~アカウントの開設方法から証拠金計算例まで~

昆布森ちゃん 2020/06/15
Like token Tip token
3.50 ALIS
Eye catch
クリプト

CoinList(コインリスト)の登録方法

Taka 2021/02/25
Like token Tip token
15.55 ALIS
Eye catch
クリプト

Uniswap v3を完全に理解した

池田らいく 2021/04/04
Like token Tip token
18.92 ALIS