0

以下のコードを入力した後、tweepyオブジェクト(ユーザーステータス)をデータベースに保存したいのですが、すべてのユーザーオブジェクトを保存する代わりに、特定のユーザー名でユーザーを保存するだけです。リストにあるすべてのユーザーオブジェクトを保存するにはどうすればよいですか?

ビュー:

consumer_key=""
consumer_secret=""
access_token=""
access_token_secret=""
auth=tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api=tweepy.API(auth)
db=MySQLdb.connect("localhost","","","")
cur=db.cursor()

def tweetstream(request):
    statuses=Cursor(api.list_timeline, owner=request.user, slug='Testy').items(20)
    for status in statuses:

        print "%s\t%s\t%s\t%s" % (status.text,
                                  status.author.screen_name,
                                  status.created_at,
                                  status.source,)

        cur.execute("INSERT INTO tweets VALUES (%s, %s, %s, %s)", (status.text,
                                                                   status.author.screen_name,
                                                                   status.created_at,
                                                                   status.source))

        return render_to_response('dashboard.html',{'statuses': statuses},context_instance=RequestContext(request))
4

1 に答える 1

0

returnステートメントをforブロックの外に出さなければなりません! そのため、1 つの挿入が行われます..

for status in statuses:

    print "%s\t%s\t%s\t%s" % (status.text,
                              status.author.screen_name,
                              status.created_at,
                              status.source,)

    cur.execute("INSERT INTO tweets VALUES (%s, %s, %s, %s)", (status.text,
                                                               status.author.screen_name,
                                                               status.created_at,
                                                               status.source))

return render_to_response('dashboard.html',{'statuses': statuses},context_instance=RequestContext(request))
于 2012-05-08T11:54:17.973 に答える