3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Python】【Twitter】自動ツイ消しシステム

Last updated at Posted at 2021-12-23

#1. はじめに
 皆さん,普段どのようなツイートしていますでしょうか?
 「ああ,ツイート全部にいいねが付いてたらな…」
 なんて思ったことありませんでしょうか?

 そんなあなたの願いを叶えるシステムを思いつきました.
 それが今回紹介する"自動ツイ消し"システムです.

 具体的には一定時間ごとに各ツイートに付けられた"いいね"の数を数え,
 閾値以下のツイートを削除します.
 これによって,あなたの投稿には
 いいねがたくさんつけられたツイートのみが残ります.

#2. 準備
###Twitter API
 まず初めに以下のリンクから,あなたのアカウントを
 Twitterの開発者アカウントに登録する必要があります.
 https://developer.twitter.com/en

 次に,そのアカウントのTwitter APIを取得する必要があります.

 詳しい方法に関しては,様々な方が記事を作成しているので,
 そちらを参考にするとよいと思います.

###ライブラリのインストール
 今回必要なライブラリは以下の通りです.

  • tweepy

 本記事のメインとなるライブラリです.
 ツイートのいいねの数をカウント,削除を実行します.

  • schedule

 プログラムの定期実行を行います.

  • time

 プログラムを一時停止します.


 インストールは以下のコマンドで可能です.

module_install
pip install tweepy
pip install schedule
pip install time

#3. サンプルコード

Fake_Like_TimeLine_for_Twitter.py
import tweepy
import schedule
from time import sleep

#API
consumer_key="***"
consumer_secret="***"

#ACCESS TOKEN
access_token="***"
access_token_secret="***"

#TWITTERオブジェクト
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)

#USER_ID取得
Account="***"

#削除タスク
def task_delete():

    COUNT=50
    
    while True:

        tweets = api.user_timeline(Account, count=COUNT)

        for tweet in tweets:
            Like_count = tweet.favorite_count
            tweetID = tweet.id

            if Like_count <= 5:
                api.destroy_status(tweetID)
        
hour=3
schedule.every(hour).hours.do(task_delete)

while True:
    schedule.run_pending()
    sleep(1)

consumer_key=
consumer_secret=
access_token=
access_token_secret=
には開発者アカウントの画面で
取得したAPIとアクセストークンを入力してください.

Account=
には適用するTwitterアカウントのIDを入力してください.

[追記:2022/05/22]
twitterIDの@以下を入力します。

COUNT=50
は一定時間に50個のツイートのいいねをチェックすることを表します.

if Like_count <= 5:
はいいねの数が5個以下のツイートを削除することを表します..

hour=3
は3時間に一回定期実行することを表します.

#4. 最後に
今回,自動ツイ消しシステムの紹介をしました.
躓くポイントとしてはTwitterアカウントの開発者申請とAPI取得だと思います.
私も実際にここが一番苦労しました.
参考文献は以下に載せておくので参考にしてください.

#5. 参考文献
https://blog.palettecms.jp/article/20103

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?