ホーム > Uncategorized > PythonからTweetを全削除する

PythonからTweetを全削除する

2009 年 11 月 17 日 コメントをどうぞ コメント

公開するにあたって,非公開前提でつぶやいていた今までのTweetを全部削除したくなった.
3,700ぐらいあったのでいちいち消してらんない.
さくっとpythonで書くとする.

easy_installあたりで,python-twitterをインストール.

# -*- coding: utf-8 -*-
#!/usr/bin/env python
import time
import twitter
twitter_id = 'username'
twitter_password = 'password'
def main():
	while True:
		api = twitter.Api(username=twitter_id, password=twitter_password)
		count = api.GetUser(twitter_id).statuses_count
		if count <= 0:
			break
		for id in [status.id for status in api.GetUserTimeline(twitter_id)]:
			print "Deleting... %s" % api.DestroyStatus(id).text
			time.sleep(24)

if __name__ == '__main__':
	main()

Twitter APIが150req/hourで制限されていると聞いたので,消すたびに一応24秒ほど待つことにした.
3,700あったらほぼ一日仕事じゃないスか…
# 試してみると1時間で150以上消せたかと思えば,20ぐらいで止まることもあった.謎.
 あまりにInternal Server Errorが多いときは,
 count取ってくる直前で適当に例外キャッチして60秒ぐらいあけてからretryするようにした方が効率的.

関連する投稿

カテゴリー: Uncategorized タグ: ,
  1. コメントはまだありません。
  1. トラックバックはまだありません。