キツネをこよなく愛する世界の70億人の方々コン!にちは!!
突然ですがこの写真は私が蔵王キツネ村に行った時に撮れた一枚です。
んん〜〜 かわいいっ
でも世の中には良いカメラでもっと可愛くて凛々しいお狐の写真を撮ってきてくれる方々がおり、私はそんなキツネを愛する写真家の方々をフォローしております。
するとかわいいお狐の画像が定期的に流れてきて日々Twitterを開くだけで幸せに過ごすことが出来ます。
威嚇しつつもやっぱりジャーキーが気になり横目でチラッ。やっぱかわいいです。#蔵王キツネ村 pic.twitter.com/fPCUXedymz
— LIA🦊🔖へっぽこジェネシス使い (@LIA9821) 2019年9月24日
本当は猫なんじゃないだろうか・・ pic.twitter.com/1o3ZHn0h9M
— NIKUO (@onraisan) 2019年9月19日
美しきマメアップ #北きつね牧場 #キタキツネ pic.twitter.com/pa4vvqIWtB
— Cheng-Ren🦊 (@chengren21) 2019年9月12日
最高ですね!!!
ちなみに最近まめちゃんを今一番推しております 凛とした可愛さって感じで本当に最高です…
こんなかわいい画像をまとめてるアカウントはないものだろうか…
というわけで調べると出てきますね、画像を保存して我が物顔でツイートしているであろう輩が…
許せねぇ!!!
かわいくて凛々しいお狐の写真を撮ってくれる方々への敬意を払うべきやろがい!!!!
かわいくて凛々しいお狐の写真を撮ってくれる方の嘆きのツイート…
Cheng-Ren🦊 on Twitter: "キツネアイコンの人にフォローされた!と思ってメディア欄見に行ったら転載画像ばっかりだった時の悲しみ"
ということでかわいくて凛々しいお狐画像を定期的にリツイートするbotを製作しました。
フォローするだけでQoLが上がると思います。
可愛い狐の画像を半自動、半手動でRTするbotです!共にモフみを感じましょう!!
— お狐大好きbot (@mofumofu_fooox) 2019年10月19日
ここからは技術的なお話です。
大まかな流れ
0.botアカウントの登録
好きなようにアカウント作りましょう 以上です。
1.botアカウントのAPIkey取得
この記事を参考にしました。
どんな理由で作成して運用するのか?みたいな欄では
私はキツネが大好きです。
自動的にかわいいキツネの画像を取得してリツイートするボットを作りたいです。
自分が楽しむだけでなく、たくさんの人に見てもらいたいです。
自動お気に入りや自動フォローなどの機能を作成して、作業をより効率的にしたいです。
をgoogle先生に翻訳してもらって
I love foxes.
I want to create a bot that automatically gets a cute fox image and retweets.
Not only I enjoy myself, I want many people to see it.
I want to make functions more efficient by creating functions such as automatic favorites and automatic follow.
と書いておきました。
2.いい感じのコード書きかき
こちらが今回使ったコードになります
import tweepy import json #キー設定 CONSUMER_KEY = 'XXXXX' CONSUMER_SECRET = 'XXXXX' ACCESS_TOKEN = 'XXXXX' ACCESS_SECRET = 'XXXXX' #APIインスタンスを作成 auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET) auth.set_access_token(ACCESS_TOKEN, ACCESS_SECRET) api = tweepy.API(auth) #検索条件部 q = " #蔵王キツネ村 OR #キツネ村 OR #ホンドギツネ OR #北キツネ牧場 , filter:images , exclude:retweets , min_faves:100 " count = 1 #検索部 search_results = api.search(q=q, count=count) #検索結果表示 for result in search_results: username = result.user._json['screen_name'] tweet_id = result.id #ツイートのstatusオブジェクトから、ツイートidを取得 user = result.user.name #ツイートのstatusオブジェクトから、userオブジェクトを取り出し、名前を取得する tweet = result.text time = result.created_at print(tweet) print(tweet_id) print(user) print('-------------------') #print(time) #fox_list.append(tweet_id) url = "https://api.twitter.com/1.1/statuses/retweet/%d.json"%tweet_id api.unretweet(tweet_id) api.retweet(tweet_id) # retweet実行 api.create_favorite(tweet_id) #いいね print(user) print("をいいねしました") api.create_friendship(username) print("をフォローしました")
長々と書いてるけど要点だけかいつまむと
#蔵王キツネ村 #キツネ村 #ホンドギツネ #北キツネ牧場
のいずれかのタグを含む画像ツイート(100いいね以上)をリツイートといいねして、投稿者をフォローするプログラムです
製作当初は #キツネ も入れていたのですが日向坂46なるグループがキツネ という新曲をリリースしたせいか、女の人の画像が大量に混入する事態が発生してしまったのでお蔵入り。
参考にした記事たちです
Twitterの検索APIについて - メモ帳の裏の切れ端
【Python】 Tweepyで、ツイート・フォロー・リムーブ・検索・画像投稿する方法をまとめてみた - Qiita
TwitterAPI でツイートを大量に取得。サーバー側エラーも考慮(pythonで) | コード7区
3.定期的に実行する
Pythonで作ったTwittter botをHerokuで定期実行する方法【Windows版】 | クロヤギ
この記事を参考にしたかったのですがどうにもうまくいかなかったので挫折…
タスクスケジューラでいい感じに設定しました。
あとはたまに手動でも動かしていきたいと思います。
改善案としてはハッシュタグが入ってないと検索に引っかからないので、TL取得して画像認識してキツネならRTみたいな感じが理想なんですけど出来るんでしょうか
頑張ってみたいと思います。