毎朝、NFTコレクションの価格情報や、NFTコレクションのランキング情報の発信を行ってますが、毎朝自分で作業をしているわけではなく、以下のようにプログラミングによる自動化の仕組みを導入しています。今日はどのようなプロセスなのか、を簡単に紹介します。

情報収集
各NFTコレクションの統計情報は、OpenSeaのAPIから情報を収集しています。以下のURLにアクセスすると、ブラウザ上でも誰でも見ることが可能です。(NinjaDAOのほんチいCNPなども、基本はここの情報を見ているはずです)
例えば、CNPだとこちらになります。
https://api.opensea.io/api/v1/collection/cryptoninjapartners
この情報からStatsという項目を見ています。

なお、ここは誰でも確認可能。他のAPIはAPIキーが必要な部分もあり、私はAPIキーがないので高度なことはできません。
リスト数をコレクション全体・各キャラごとに取ることが上記のStatsではできなかったため、スクレイピングという技術を利用して、一つ一つのページにアクセスし、上記のリスト数を取得することを自動実行しています。
取得した情報を最後にスプレッドシートに書き込むところまでが収集となります。これらをPythonを使って行なっています。
今後、どのマーケットプレイスが主流になっていくかによって、作り直しが必要になってきますが、今はこのような形で各種情報の収集を行なっています。
整形(スプレッドシートで見やすくする)
上記で集めた情報は以下のような感じになっています。(例は、最近作ったTMAsTIMEsです)

これらの情報を前日差計算や各種ETH価格を日本円にするために、別シートで計算を行います。また、ランキングを作るために並べ替える計算を行うシートを別でも作ります。以下は、TIMESフォーマットで参照するためのデータをまとめたものです。上記のシートからvlookup・hlookup等を使って参照して集めたり、足し算・引き算・掛け算・割り算を駆使してまとめています。

上記のデータを見やすいフォーマットからさらに当日分だけTIMESフォーマットから参照するようにします。

ここまでが整形の過程です。
画像化
スプレッドシートの共有には、「ウェブに公開」する機能があります。


公開されたWebページに対して、Pythonにて、Webページをスクリーショットを撮るとプログラミングによって、画像化を自動化しています。
公開されたページはこちら
https://docs.google.com/spreadsheets/d/e/2PACX-1vQ9EjcP57UTXfM-JTh1-ibSGpoibfvBIrJIac9ZjApV2bl-kRpt-2xQ4xg3XMsV-Wr9GC5rEihPhSvq/pubhtml?gid=1394490004&single=true
※毎日12時過ぎに自動変更されるように作っています

上記をスクリーンショット撮影自動実行により画像化をおこなっています。
ツイートする
このTIMES画像と合わせて呟きたいツイート文面をスプレッドシートにセットしておきます。
そして、Pythonによりスプレッドシートの文面と画像を合わせてTwitterのAPIを利用して(有償化前のAPIなので、今後直す必要あり)、Twitterに投稿します。
なお、Python実行部分については、macの標準機能により自動実行するようにしています。
自動実行は、AutomaterによりPythonをアプリ化し、そのアプリを毎日決められた時間に動くようにセットしています。
情報収集が12時ごろ。情報収集が終わるとTIMESがWebページに公開される。それを2時ごろに自動ですべてのページを自動で画像化。4時あたりから30分おきに、各TIMESツイートをするようになっています。
まとめ
以上、ルクのやっているTIMES自動化の概要でした。
もっと詳しく知りたい、ソースコードを教えてほしい等ありましたら、質問・コメント等いただけましたら、ニーズの多さ次第では公開に踏み切るかもしれません(有料記事にするかもしれませんがw)
本日の記事がどなたかの参考になったら嬉しいです。
今日も好き日をお過ごしください♪
(参考)NFTを買うための道のり
本日の記事を見て、NFTにご興味持っていただけた方へのコーナーです。
NFTを買うための道のりは、以下のようなステップになります。
1.仮想通貨取引所で、イーサリアムと呼ばれるブロックチェーンで利用可能な仮想通貨「ETH(イーサ)」を購入する 2.購入したETHを、ブラウザで利用可能な仮想通貨ウォレット「MetaMask」に移す 3.MetaMaskをOpenSeaに接続して、NFTを購入する
仮想通貨取引所はどこでもOKです。有名なところだと、Coincheck、Bitflyer、bitbank等があります。
これ以降の手順については、詳しくは、以下の記事にてまとめていますので、ご確認ください。
コメント