こんにちは!
今回は下の記事に引き続き、KivyでTwitter自動化ツールを作ってみたいと思います。
【3時間でできる】Kivyのインストールからチュートリアルまで|Pythonでデスクトップアプリ
【初心者向け】Kivyで画面遷移を実装!|Pythonでデスクトップアプリ開発
Kivyで文字入力と日本語対応を実装|Pythonでデスクトップアプリ開発
今回のゴールはこちら。
入力したキーワードを含むツイートを自動でふぁぼってくれるアプリです。
自動ふぁぼBOTの基幹部Kivyで実装できたー
まだ画面実装の方法はわからないことだらけだけど楽しー!#Python
#Kivy pic.twitter.com/pnpIxBmE3p—
カシワバユキ (@yuki_kashiwaba) 2019年1月11日
注意事項
ふぁぼの自動化に関してなのですが、どうも使いすぎるとアカウントが凍結されてしまうようです。
規約にはっきりと書かれてはいなかったのですが、実際に100件ほどいいねをつけたところ、Twitterから警告が来たので使用を断念しました。
自動ふぁぼは使えばフォロワーが増えるので結構楽しかったのですが、残念です。
もし似たようなBOTを作ろうとされる方は、規約に引っかからないように注意してくださいね。
追記
いいねをつけるメソッドの中で、いいねの間隔を3秒に設定したところ、連続使用しても凍結されることはなくなりました。
短時間の連続操作そのものに問題があったようですね。
ソースコード
# -*- coding: utf-8 -*- from kivy.config import Config Config.set("graphics", "resizable", False) Config.set("graphics", "width", 700) Config.set("graphics", "height", 100) from kivy.app import App from kivy.properties import NumericProperty, ObjectProperty, ListProperty from kivy.uix.boxlayout import BoxLayout from kivy.uix.label import Label import twitter import user import time CK = # Consumer Key CS = # Consumer Secret AT = # AccessToken AS = # AccessTokenSecret class KeywordClient(BoxLayout): msg = ObjectProperty(None) def fav(self): keyword = self.msg.text twitter.twitter_fav(keyword, AT, AS) self.msg.text = '' class Twitter(App): def build(self): keywordClient = KeywordClient() return keywordClient Twitter().run()
import tweepy def twitter_fav(text,AT,AS): CK = # Consumer Key CS = # Consumer Secret AT = # AccessToken AS = # AccessTokenSecret auth = tweepy.OAuthHandler(CK, CS) auth.set_access_token(AT, AS) api = tweepy.API(auth) tweets = api.search(q=text,count=30) for tweet in tweets: tweet_id = tweet.id try: api.create_favorite(tweet_id) except: next return "ok"
参考
Python Kivyの使い方① ~Kv Languageの基本~