皆様、はじめまして!またはこんにちは!
ルク@40代Web3大好き別居男子です。
この3連休は、プログラミングにハマってました、その成果発表と、どんなことしているかとか、どこに苦労したか、あたりをお話ししていきます
成果物:CNPJ リアルタイムフロアランキング
こんなものができました!
CNPJ職業別リアルタイムフロアランキング
じつは最初はランキングを作りたかったのではなく、自分のCNP TIMES更新を楽にするために、以下のようなCNPも合わせて、フロア価格情報を更新していくものが作りたかったんです。
その副産物として、もっと見やすくて良い情報にまとめなおしたのが、上記のCNPJフロアランキングです。
ちょっとまだ安定しないところがあるのですが、そこはまたどこか時間がある時に見ていければと思っています。
実際のものはこちら(さっきと同じURL)。シートが分かれているので、それを見ていただければと思います。
なお、こちらですがCNPに特化せず、OpenSeaのコレクションであれば今現在においては(画面構成が変わらなければ)、どのコレクションでも追加しようと思えばできますので、ご連絡ください。
(といいつつ、いっぱい来ちゃうと、定期実行しているのが家に余ってた古いMacbookAir2012で動いているWindows10だったりなので、マシンパワー死んじゃうかもですがw)
どんな技術を使っているか
プログラミング言語はPythonを選び、スクレイピングというサイトのテキスト情報を拾う技術を使っています。Slenium+Webdriverを使って自動でChromeが立ち上がってサイトに実際にアクセスして情報取得をおこなっています。そのデータをエクエルに吐き出す、ということをおこなっています。どの場所をの情報を取るかということを設定しているため、OpenSeaの画面構成が変わると作り直す必要が出てきます、、、あとで、技術研究室で相談したらAPIで拾えるのでは?という話もあったので、それも再度調べてみようと思っています。ソースコードは、NinjaDAOの技術研究室にてすごすごエンジニアの皆様に講評いただきたくさらしてあるのでよければそちらでご覧ください。(7月18日の夜あたりです。どこかのタイミングで一旦共有解除すると思います)
本当は、Googleドライブにアップロードするところとか、定期実行するところもプログラムで書ければカッコよかったのですが、Googleドライブアップロードはデスクトップアプリを入れて直接エクセル書き出しを行い、定期実行はWindowsのタスクスケジュールを使うことで凌ぎました。
自分のプログラミング経験は、
・大学時代にJavaをちょっとかじっていた
・HTMLはわかるけど、CSSは苦手(Web1.0時代にWebデザイナー少ししていた)
・ブログを立ち上げたりはできる
・プログラマーになりたかったけど、大学で壁が高くて断念。その後、何度も勉強しようとしたけど挫折
という感じで、人のためのものを作ったことはなかったというのが正直なところです。
というわけで、完全初心者ではないですが、ほぼ初心者・初級者の自分としては、この3連休で誰かにお見せするレベルのものが出来上がったというのは、自分で言うのもアレですが、よくできた気がしますw
なんで作ったか?
先ほども少し語りましたが、元々は自分を楽にするために作ったというのが一番の理由です。
今、CNP TIMESという各キャラのフロアがわかる情報画像を毎朝アップロードしています。
CNPだけだったら、キャラ4体だけなので自分でOpenSeaにアクセスして、コピペしてですみましたが、CNPJは47職、、、これを毎朝なんて絶対できない・・というところがモチベのきっかけです。
最初は自分で実行すればよかったので、定期実行とか、公開する必要もなかったのですが、情報とるのに5分ぐらいかかるので、朝寝坊すると時間かかって厳しそう、、、だったら、毎朝定期実行→定期実行するなら朝だけじゃなくてよくない?ってなり、24時間更新プログラミングが出来上がった次第です。
で、そのデータを使って、ランキングシートも作れるんじゃないか、と思いついて、ランキング作成に至りました。
DAOは成長の機会を与えてくれる
昨日のTwitterにも書きましたが、DAOは成長の機会を与えてくれるな、と感じています。
この件についてはまたどこかで詳しく書いたり、語ったりしたいと思いますが、まさかこんなにプログラミングすることになるとは思いませんでしたが、実際に動いて情報が取れるようになったときはむっちゃ感動しました!
まとめ
といいつつ、だいぶ自分が欲しいものは出来上がったので、当面、また何か作ることはないかな、と思いつつ、気が向いたり、何か作ってみたいものができたらやってみようかと思います。
自分が好きにやってるだけではありますが人の役に立てること何かなあ、喜んでもらえるもの何かなあ、と思いながら良いものが作れてよかったように思っております♪
コメント