【发布时间】:2019-04-15 20:59:11
【问题描述】:
我正在尝试使用 tweepy 从 twitter 收集数据。我已经能够获取用户名时间线并将其存储在 csv 文件中,但是我想获得新的更新,并在用户名的时间线中有更新时更新我的 csv 文件。
(我用的是python3)
我从用户名时间线收集数据的代码是:
def get_tweets(api, username, limit):
alltweet =[]
fid2 = open('_3200unfilteredTweets.csv','w')
""" Download Tweets from username account """
for status in tqdm(tweepy.Cursor(api.user_timeline, screen_name=username,tweet_mode='extended').items(limit),
unit="tw", total=limit):
alltweet.append(status.full_text)
# store(status._json)
process_tweet(status)
for line in alltweet:
fid2.write("%s\n"%line)
以下代码还允许我在特定时间之间获取推文,但是由于我有几个用户来收集数据,所以我不记得上次收到推文是什么时候了。
startDate = datetime(2011, 6, 1, 0, 0, 0)
endDate = datetime(2012, 1, 1, 0, 0, 0)
tweets = []
tmpTweets = api.user_timeline(username)
for tweet in tmpTweets:
if tweet.created_at < endDate and tweet.created_at > startDate:
tweets.append(tweet)
while (tmpTweets[-1].created_at > startDate):
tmpTweets = api.user_timeline(username, max_id = tmpTweets[-1].id)
for tweet in tmpTweets:
if tweet.created_at < endDate and tweet.created_at > startDate:
tweets.append(tweet)
如果有任何方法可以让我只获取时间线更新,请告诉我。
【问题讨论】:
标签: python-3.x csv twitter tweepy