【Python】落合陽一氏もやっているエゴサbotをPythonで作った【Tweepy】
先日このようなツイートを見つけました。
あ,記事とか出たあと「RTしておいてくださいおねがいです!」っていうライターや出版社からの依頼に答えるのがめんどくさいので自分の名前がツイートに出てきたら勝手にRTされるプログラムは走らせてある.
— 落合陽一/Dr.YoichiOchiai (@ochyai) 2017年12月25日
最近の情熱大陸で一躍有名になった(?)(自分はこれで知った)落合陽一氏ですが、番組が面白かったのでフォローしていました。そこで「Pythonでできんじゃね?」と思ったので、つくってみました。
準備
使うモジュールはTweepyのみです。
無い方は
でインストールしてください。
前回の記事の「各種キーの取得」の手順に沿って「Consumer Kye」、「Consumer Secret」、「Access Token」、「Access Secret」をそれぞれ発行して、コードをメモっておいて下さい。
コード
コード自体はとても簡単で、前回のブログで使用したソースコードを流用します。いわゆるこれがエゴサ段階で、ツイートの識別番号を取得してあるのであとは識別番号を引数としてretweet()に代入してあげればいいだけです。
コード
下記コードをそのままコピーして。searchメソッドではapiの仕様上15件までしか取得できないようなので、実行する間隔を狭めるなりして調整して下さい。(crontabなどを使用して定期実行することが前提となっています。)
こちらは最初からリプライを含むツイートは除外しています。Twitterのbotについては自動化ルール をしっかり読んだ上でお使い下さい。
【IFTTT】地震速報をLINEに送信する
IFTTTを使って地震速報を受信する方法を紹介します。
Twitterでこのアカウントをフォローしている方も多いと思います。
今回はこちらのアカウントが呟いた内容をIFTTTに渡して、LINEに送信するという簡単なものになってます。
完成するとこのような通知が来ます。全国の地震速報が送信されるので、通知を切って後でまとめて読むことが多いです。(速報の意味)それとつぶやかれてから、2,3分ほどのしてから拾うようなので(速報性は)ないです。
何はともあれ作って行きましょう。書いてる最中に気がついたのですがそういえばIFTTTってレシピ(制作物)を公開できることを完全に忘れていました。
とりあえずレシピのリンクを張っておきました。IFTTTのアカウントを持ていない方は取得しておいてください。取得してから、リンク先へ移動すると各種アカウント(LINE、Twitter)の連携を催されるで指示に従い設定していきましょう。
https://ifttt.com/applets/66596467d-twitter-line
あ、あけおめ
【Python】特定の単語を含むツイートを自動でふぁぼるbotを作った
Tweepyを使って自動お気に入り登録ツールを作ってみました。これは指定した文字列に反応して、その単語が含まれているツイートを見つけたら自動的にお気に入り登録するというものです。
例えば、自分の名前やブログ名が入っているツイートを見つけたらお気に入り登録する、自動でエゴサしてくれるツールとなっているので、なにかと応用してみると面白そうです。
今回は、「仮想通貨」という文字列に反応するbotを作ってみました。
使用した環境
・MacBook Air Early 2015 Sierra 10.12.6 Python 3.6.2
必要なもの
tweepy
使用するモジュールはtweepyのみです。無い方はインストールしておいてください。
アクセストークン等のキー
以下の記事の「各種キーの取得」という項目に沿って「Consumer Key」、「Consumer Secret」、「Access Key」、「Access Secret」をそれぞれ発行してメモしておいて下さい。
コード
これではお気に入りに登録する対象を特定の文字列の「リプライを含む全ての」ツイートとなってしまい、不快に思われる方がいらっしゃるかもしれません。なのでリプライを除く処理を追加してみました。
関数api以下のfor文から下の処理を差し替えてお使い下さい。
使い方
上記のソースコードをそのままコピーして「TweetFav.py」で保存しました。
先程メモしたキーをソースコードの該当箇所に代入して下さい。以上で作業は完了なので動かしてみます。
できていますね〜。筆者はcrontabで自動化して日々情報収集に励んでおります。
Twitterのbotについては自動化ルールをしっかりとお読みになった上でお使い下さい。
www.pypi.cf
【Python】ビットコインの価格を定期的にツイートするbotを作った【Application Managementの使い方も記載】
今回は、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については自動化ルールをしっかりとお読みになった上でお使い下さい。このプログラム自体はルールに準じていますが、違反が確認されると、アカウントのロック、又は凍結される場合があります。