今回は、Pythonを使ったビットコインの価格を取得して自動で定期ツイートしてれるbotを作成しました。
構造としては
1,BeautifulSoupで価格データのスクレイピング
2,Tweepyを使ってツイート
3,crontabを使ってbot化
となっています。
スクレイピングの対象となるbitFlyerのサイトのHTMLをBeautifulSoupで抜き出し、正規表現で文字列を抽出してTweepyを使ってツイートする簡単なものです。Raspberry Piを使ってcrontabでbot化しましたが、今回はツイートするところまでを紹介していきます。
完成品はこちらです。10分毎にツイートするbotとなっています。
01/28 14:50 現在のビットコインの価格
— 篠坂blockchain🦀 (@L00Y) 2018年1月28日
BTC/JPY ask: ¥1,272,660 / bid: ¥1,272,500
前回比 0.53% の高騰
bitFlyerの専用のAPIがありますが、今回は公式サイトのスクレイピング結果をツイートするbotとなっています。
今回のプログラミングで使用した端末
・MacBook Air Early 2015 Sierra 10.12.6 Python 3.6.2
使用したモジュール
・re
・urllib
・tweepy
・datetime
・BeautifulSoup
tweepyとbeautifulsoupは新しくインストールする必要があるので、pipでインストールします。
各種キーの取得
tweepyを使うためにOAuth認証を行ないます。
こちらに移動し、ご自身のTwitterアカウンでログインします。注意点として、予め電話番号とアカウントととの紐付けが必要です。
1,「Create New App」を選択。
2, 「Application Details」の"Name" 、"Description" 、"Website" をそれぞれ入力。完了したら「Create your Twitter application」を選択。
3, 無事作成できたらこの画面になる。「Keys and Access Tokens」を選択。
4, 「Create my Access token」を選択。
5, "Consumer Kye"、"Consumer Secret"、"Access Token"、"Access Token Secret" をそれぞれメモっておく。
コード
以下のソースコードをそのままコピペして拡張子.pyで保存して下さい。先程メモした、キーを"consumer_key"、"consumer_secret"、"access_key"、"access_secret"にそれぞれ代入して下さい。
bitFlyerをスクレイピングしてビットコインの価格をツイートするやつ
〆
以上のプログラムをcrotnabで実行すると完成品のようになります。関数BTCをご自身の好きなものに変えれば、立派なTwitterbotの完成です。
Twitterのbotについては自動化ルールをしっかりとお読みになった上でお使い下さい。このプログラム自体はルールに準じていますが、違反が確認されると、アカウントのロック、又は凍結される場合があります。