nabetaの日記: twitterのパスワード漏洩
とにかく、くだらないスクリプトを作って潰してしまったオレの時間を返せ
以下のスクリプトは動かしてみると分かるのですが、150のrate-limit にひっかかり動作しません、つーか動かすなよな、こんなスクリプトって話。
import sys
import sqlite3
import twitter
if __name__ == '__main__':
files = {1:u"twitter_account_v1.txt", 2:u"twitter_accounts_v2.txt",
3:u"twitter_accounts_v3.txt", 4:u"twitter_accounts_v4.txt", 5:u"twitter_accounts_v5.txt"}
conn = sqlite3.connect(":memory:")
conn.text_factory=str
sql = u"""create table if not exists twpass (tp_id integer, tp_fileid integer, tp_userid text, tp_passwd text)"""
conn.execute(sql)
idx=0
sql = u"""insert or replace into twpass values(?,?,?,?)"""
for fileid in files.keys():
f = open(files[fileid])
data = f.read()
f.close()
lines = data.split('\n')
sz = len(lines)
for line in lines:
if (len(line) > 1):
if(line.find(':')>0):
chk = line.split(':')
else :
pos = line.find('com')
chk = (line[:pos+3],line[pos+3:])
idx += 1
print "%d %d/%d %s --> %s:%s" % (fileid,idx,sz,line,chk[0],chk[1])
conn.execute(sql, (idx,fileid,chk[0],chk[1]))
sql=u"""select count(distinct tp_userid), count(tp_userid) from twpass"""
cursor = conn.execute(sql)
for row in cursor:
print "TOTAL: %d/%d" % (row[0],row[1])
sql=u"""select distinct tp_userid from twpass"""
cursor = conn.execute(sql)
api = twitter.Api()
for row in cursor:
try :
statuses = api.GetUserTimeline(row[0])
except twitter.TwitterError, e:
print "USER: %s %s" % (e, row[0])
else:
print "USER: %s" % row[0]
if( len(statuses) >0 ):
print statuses[0].id, statuses[0].text.encode('utf-8')
conn.close()
twitterのパスワード漏洩 More ログイン