Как получить твиты из твиттера любого пользователя
Я новичок в питоне. Помоги мне. ПРОБЛЕМА: я получил все твиты соответствующего пользователя. Я хочу n [предположим (n=20)] нет последних твитов соответствующего пользователя. Как получить ни одного твита?? ниже мой код:
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")
2 ответа
Вы пытались редактировать эту строку, чтобы получить только 20?
Изменить:
new_tweets = api.user_timeline(screen_name=screen_name, count=200)
Для того, чтобы:
new_tweets = api.user_timeline(screen_name=screen_name, count=20)
Если 'testfile.txt' содержит твиты от самых новых до самых старых:
n = whatever value you want
tweetArr = []
f = open("test file.txt:, "r")
count = 1
for line in f:
if count <= n:
tweetArr.append(line)
count += 1
tweetArr содержит n самых последних твитов