SNS集客

Pythonで特定の年のTweetを自動的に一括削除する方法

twitter_textedit_python

SNSマーケを行う時に、異様にツイート数が多いと、BOTと思われる可能性があります。自動ツイートアカウントと思われないためにも、1年前のツイートなどを削除して、ツイート数がそんなに多くないように見せることで、アカウントへの印象が少し良くなります。

今回は、pythonを使って特定の年のツイートを削除する方法を紹介します。初心者でも流れに沿ってやればできるように解説しています。

ステップ1:ツイートをダウンロード

  • ユーザー情報」にアクセス
  • コンテンツ > 全ツイート履歴 で「メールを送信」
  • 2,3分待つ
  • 届いたメールのリンクをクリック
  • ダウンロード

ステップ2:ツイートファイルを取り出す

  • ダウンロードしたzipファイルを解凍
  • フォルダ内の「tweets.csv」を/Desktopに置く

ステップ3:コンシューマーキーなどを取得

  • Twitter Apps」にアクセス
  • Permissions タブを開く
    • Read and Write を選択して保存
  • Keys and Access Tokensのタブを開く
    ※Access Tokenが作成されていなかったから作成する

    • Consumer Key (API Key)
    • Consumer Secret (API Secret)
    • Access Token
    • Access Token Secret

ステップ4:pythonをターミナルにインストール

すでにpythonをインストールしたことがある方は、このステップを飛ばしてください。

  • Pythonダウンロードページ」にアクセス
  • 右のボタンの「Download Python 2.7.xx」をダウンロード
    ※xxは何か数値
  • ダウンロードしたファイルを実行してインストール
  • インストール完了

ステップ5:tweetpyをpythonにインストール

  • ターミナルを開く
  • コマンドを入力してEnter
$ sudo easy_install tweepy

ステップ6:Tweet削除するpythonコードに情報を入力

  • テキストエディタで新規に「tweet.py」という名前のファイルを作成
  • tweet.pyに下記のコードをコピペする
# coding:utf-8
import pandas as pd
import csv
import tweepy

pattern = "2013|2014|2015|2016" #自分が削除したい年を|区切りで入れる
CONSUMER_KEY = '自分のConsumer Key'
CONSUMER_SECRET = '自分のConsumer Secret'
ACCESS_TOKEN = '自分のAccess Token'
ACCESS_SECRET = '自分のAccess Token Secret'

# ツイートのcsvファイルを開く
tw_df = pd.read_csv('tweets.csv', encoding='utf-8')

# 条件に合致する行を抽出し、ツイートID、本文、リンク先URLのフィールドだけ取得。
yt_df = tw_df.ix[\
      (tw_df['timestamp'].str.contains( pattern ))\
    , ['tweet_id', 'text', 'expanded_urls']]

# 削除すべきツイートのidリスト
rem_ids = list(yt_df['tweet_id'])

# 削除の処理はAPIで自分のアカウントを操作して行います。
# 件数があまりにも多い場合、リクエスト制限にひっかかります。

# APIハンドラインスタンスの生成
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_SECRET)
api = tweepy.API(auth)

# 削除
for id in rem_ids:
    try:
        api.destroy_status(id)
    except:
        print('couln\'t delete id:' + str(id))
        continue

参考:Python作業メモ: 残しておくとマズそうな自分のツイートをまとめて削除する(YouTubeリンク編)

  • 各情報を入力する
    • pattern:何年のツイートを削除するか(例2013年から2016年の場合:「2013|2014|2015|2016」)
    • CONSUMER_KEY:Consumer Key (API Key)
    • CONSUMER_SECRET:Consumer Secret (API Secret)
    • ACCESS_TOKEN:Access Token
    • ACCESS_SECRET:Access Token Secret
  • ファイルを保存

ステップ7:pythonを実行

  • ターミナルを開く
  • デスクトップに移動(たぶん次のコマンドを打てば良い)
$ cd ./Desktop/
  • 実行コマンドを入力してEnter
$ python tweet.py
  •  待つ
  • ツイート削除完了