【twiiter API】pythonとtweepyを使った自動RT、いいね
概要
環境
プログラム
tweepyを使用するうえでの準備
始めに次のコードを実施することでtweepyが使用できるようになる
wait_on_rate_limitを使用すると利用制限があった場合、自動で待ってくれるので便利
import tweepy auth = tweepy.OAuthHandler(consumer_key, consumer_secret) auth.set_access_token(access_token, access_token_secret) api = tweepy.API(auth)
参考サイト
https://kurozumi.github.io/tweepy/getting_started.html#hello-tweepy
https://kurozumi.github.io/tweepy/api.html#tweepy-api-twitter-api-wrapper
①疑似的なツイートIDの作成
疑似的なツイートIDを作成する理由
ツイートIDはツイートされた時間を元に作成される、
またtwitter apiで期間を決めて検索する際にツイートIDを使う
そのため、疑似的なツイートIDを作成すると、好きな期間で検索することができる
since_idにツイートIDを指定すると、そのツイートより新しいツイートを結果として返す
idは作成した疑似的なツイートID
qは検索ワード
public_tweets = api.search(q, since_id=id)
疑似的なツイートIDの作成方法
millisecond_epochはミリエポック秒(UNIX時間)
(millisecond_epoch - 1288834974657) << 22 = tweet id
参考サイト
疑似的なツイートIDの作成方法
https://github.com/igorbrigadir/twitter-advanced-search#snowflake-idsエポック時間(UNIX時間)の取得と変換
https://python.civic-apps.com/unixtime-now/時間の計算
https://docs.python.org/ja/3/library/datetime.html#timedelta-objects
引っかかった点
いいねとRTをしたときに下のエラー文がでた
tweepy.error.TweepError: Read-only application cannot POST.
解決策はDeveloperサイトで権限の変更とtokenの再発行が必要
Consumer KeysはそのままでOK検索ワードの注意点
検索ワードは一部のワードが含まれるとヒットすると思っていたがそういうわけでもなさそう?
「フォロ」という検索ワードでは「フォロー」が含まれるツイートはヒットしない
全体的に参考にしたもの
twitter api 公式サイト
https://developer.twitter.com/en/docs/twitter-api
tweetオブジェクトのパラメータや返却値が載っているのでよく見るtweepyサイト
https://kurozumi.github.io/tweepy/index.html
日本語だったので見やすかった
ただ変数名の確認だけして、twitter api 公式サイトでパラメータなどを確認することが多かったpython 例外処理
https://docs.python.org/ja/3/tutorial/errors.htmlpython 常時稼働
windowsの方法
https://qiita.com/init/items/95ac1d45858b8b24a59c
https://www.wannko.net/windows10/kihon/task5.html
linuxの方法
https://qiita.com/katsuNakajima/items/7ece6c74f992f652d732
chmodコマンド
https://qiita.com/ntkgcj/items/6450e25c5564ccaa1b95
https://qiita.com/shisama/items/5f4c4fa768642aad9e06