带有Tweepy的Flask只会拉出第一条推文,需要更多的推文

时间:2015-04-14 14:14:31

标签: python flask tweepy jinja2

我试图从使用Tweepy和Flask的用户那里得到一堆推文。代码看起来是正确的,但它只会提取第一条推文,而不显示其余部分。可能是什么原因?默认情况下,Tweepy应该已经发布了20条最新推文。 这是代码:

from flask import Flask, render_template
from jinja2 import Template
import tweepy

app = Flask(__name__, template_folder="mytemplate")

t_consumerkey= ''
t_secretkey= ''
access_tokenkey=''
access_tokensecret=''

@app.route('/')
def index():
    return render_template('index.html', names="John")


auth = tweepy.OAuthHandler(t_consumerkey, t_secretkey)
auth.set_access_token(access_tokenkey, access_tokensecret)

api = tweepy.API(auth)

public_tweets = api.user_timeline(id='california')

@app.route('/twitter')
def twitterdisplayer():
    for tweet in public_tweets:
        return tweet.text

if(__name__) == '__main__':
    app.run(debug=True)

PS,我知道这可能看起来像编写得不好的代码,因为我是编程的初学者。感谢。

1 个答案:

答案 0 :(得分:1)

在方法twitterdisplayer()中,您循环浏览推文列表但返回第一个推文。函数停止在return关键字上执行。

试试这个:

def twitterdisplayer():
    all_tweets_text = []
    for tweet in public_tweets:
        all_tweets_text.append(tweet.text)
    return all_tweets_text