Fear & Greed Indexだけをつぶやくbotを作った話。
ある人のNoteを買ってからFear & Greed Index(F&G Index)の大事さを知って毎日チェックしようと思ったけど、CNNのサイトは重いし何故か最近うまく表示されていない。
見た感じpngの画像がぶっ壊れているっぽい。
他のページで一応見れるがPC表示にしないとスマホからは見れないし、見ずらいし不便なことだらけ
そんなわけでググった情報だけをもとにbot作ってみたよ。って言うメモ
作ったアカウントはこちら。 twitter.com
やりたかったこと。
F&G Indexの数値を毎日定期的につぶやきたい。
それだけ。
ページのコンテンツを確認したところHTMLで数値が出ているわけではなく、pngの画像として生成されてる。
しかもありがたいことに配置されているPATH(というかURL)は常に同じだ。
別に難しい処理を入れたいわけではないので以下の処理の流れにした。(というよりそんなスキルがない)
処理の流れ
最初はcurlのコマンドで取れるかなー。とか思っていたけど調べたところpythonさんが便利なよう。
こちらのページを参考させてもらってすぐ終わり。
qiita.com
要はTwitterのAPIで承認して、URL先から画像データ取得してそのままTwitterにぽーい。
はい、簡単。あとはグーグル様頼み。
実際にやって大変 or 面倒だったこと。
TwitterのAPI登録が面倒。
電話番号登録がマスト
botを手組みで作るにはTwitterのDeveloper登録が必要で、これは電話番号を登録したアカウントじゃないとできない。
サーバに負荷とかかけることもできるし、API使うならこれくらいは必要か。
登録の理由記載がめんどい。
以下の質問に100文字程度の英語で回答しなければいけない。 大学のときの癖で100単語だと思いぎょっとしたが、100文字なので適当に書けばすぐうまる文字数。
上記を適当に書けば割とすぐメールきてAPI使える様になりました。
処理の作成
使用したもの
- レンタルサーバー(他のブログ用にレンタルしているものを使用)
以上配置
サーバー上には以下のように配置
/ |--twitter | |--FGpost.py #本処理のファイル | |--__pycache__ #★実行したら勝手に作成される | | |--config.cpython-37.pyc | |--automation.sh #cronで実行用 | |--config.py #APIのPWとか認証用の情報記載
最初にも書きましたがこちらと qiita.com こちらを参考にさせていだきました。 qiita.com
トラブった。
はい。有力な情報載せて頂いてる本当の"エンジニア"の方のおかげで余裕だわ。
なんて思った矢先、怒られました。
tweepy.error.TweepError: Read-only application cannot POST.
90%のコピペで完成している処理なので、トラブルシューティングなんてできねーよ…。
Read-onlyなのでどこのパーミッションがおかしいのは俺でもわかる。
なんて思ってたら神様登場。一瞬で解決。ありがとうございます。
qiita.com
あと設定をいじった際には各種tokenを再発行しないと変更が反映されないので注意。
再発行した各種tokenをコードに反映させれば終わり。
定時実行
これはシンプルにサーバのcronで米国市場のオープンする時間に自動実行するように設定するだけ。
自分が使用しているcoreserverではcronの設定はコントロールパネルから実施できた。
さいごに
とりあえずpythonは便利なのでもう少し勉強して理解して、アレンジを加えてみた。
やっぱり自分で考えたものを実装するのは楽しい。
インフラの保守運用はつまらんから、やっぱり自分に合っていないのだろうかと3年ぐらい疑問に持ちながら仕事してる。
転職、もしくは社内でローテーションしたいなぁ。
おっと、脱線した。
おしまい。