在 Tweepy 中循环后另存为 DataFrame,无需循环即可工作,添加循环后,另存为列表

问题:在 twitter 上拉取多个用户时间线以保存为 DataFrame。


这是一个完美的解决方案,一次为一个用户提供:


import tweepy

import pandas as pd

import numpy as np


ACCESS_TOKEN = ""

ACCESS_TOKEN_SECRET = ""

CONSUMER_KEY = ""

CONSUMER_SECRET = ""


# OAuth process, using the keys and tokens

auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)

auth.set_access_token(ACCESS_TOKEN, ACCESS_TOKEN_SECRET)


# Creation of the actual interface, using authentication

api = tweepy.API(auth, wait_on_rate_limit=True)



# Running only on handle returns a dataframe 

tweets = api.user_timeline(screen_name='pycon', count=10)

print("Number of tweets extracted: {}.\n".format(len(tweets)))

data = pd.DataFrame(data=[tweet.text for tweet in tweets], columns= ['Tweets'])

data['len']  = np.array([len(tweet.text) for tweet in tweets])

data['ID']   = np.array([tweet.id for tweet in tweets])

data['Date'] = np.array([tweet.created_at for tweet in tweets])

data['Source'] = np.array([tweet.source for tweet in tweets])

data['Likes']  = np.array([tweet.favorite_count for tweet in tweets])

data['RTs']    = np.array([tweet.retweet_count for tweet in tweets])


print(data)

上面的效果很好,将pycon在 DataFrame 中返回用户最近的 10 条推文。下一步是添加多个要查询的句柄。这是使用多个句柄执行相同操作的代码:


#Added list of handles

handles = ['pycon', 'gvanrossum']

#Added Empty DF to fill

test = []

运行这将给出两个输出。data将是一个包含gvanrossum10 条最新推文的 DataFrame (作为句柄列表中的第二个句柄,这是有道理的)。第二个输出将是test,这是一个列表。有趣的是test包含来自pycon和 的所有 20 条推文gvansossum,但采用列表形式。循环正在运行,但它没有保存为 DataFrame。


问题:如何将多个句柄之间的循环保存为 DataFrame?


鸿蒙传说
浏览 174回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python