私はPythonで新しいです。私を助けてください。 問題: それぞれのユーザーのすべてのつぶやきを取得しました。 私は、それぞれのuser.howの最新のつぶやきのうち、n個のつぶやきを取得できないようにしますか?以下 は私のコードです:どのユーザーのtwitterからも 'n'つぶやきを得る方法
def get_all_tweets(screen_name):
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_key, access_secret)
api = tweepy.API(auth)
alltweets = []
# make initial request for most recent tweets (200 is the maximum allowed count)
new_tweets = api.user_timeline(screen_name=screen_name,count=200)
alltweets.extend(new_tweets)
print len(alltweets)
oldest = alltweets[-1].id - 1
while len(new_tweets) > 0:
print "getting tweets before %s" % (oldest)
new_tweets = api.user_timeline(screen_name=screen_name, count=200, max_id=oldest)
# save most recent tweets
alltweets.extend(new_tweets)
# update the id of the oldest tweet less one
oldest = alltweets[-1].id - 1
print "...%s tweets downloaded so far" % (len(alltweets))
f = open('testfile.txt', 'w+')
for tweet in alltweets:
f.write(str(tweet.text))
f.write('\n')
f.close()
tweets = (tweet.text)
return tweets
pass
# to encode the data
reload(sys)
sys.setdefaultencoding('utf-8')
if __name__ == '__main__':
get_all_tweets("xyz")
この出力と同じ出力を示します。 new_tweets = api.user_timeline(screen_name = screen_name、count = 200) – aneeket
実際に返ってきたつぶやきの数を数えましたか?カウントが200に設定されている場合でも、実際には200を返すことになるわけではありません。カウントが200に設定されていると、APIには20 – AK47
の上限が設定されます:「ツイートが556815543647215616になる前に取得する .. が98265272319 前にツイート... が344033624594735103 前にツイートを取得してこれまでにダウンロード599件のツイート... が224551285863624703 前にツイートを取得してこれまでにダウンロード759ツイートを取得してこれまでにダウンロード0.399ツイートは... 759ツイートは次のように「これまでにダウンロードこの。カウント= 20の場合、つぶやきを得るのに20の差だけが表示されます – aneeket