2016-10-11 4 views
0

아래 코드 부분은 특정 사용자의 모든 트윗을 가져 와서 csv 파일에 저장합니다. 나는 그들을 저장하기 전에 짹짹을 필터링하고 "자동차"라는 용어가 포함 된 것들만 저장하려고합니다. 내가 어떻게 해?csv에 저장하기 전에 트윗 필터하기

import tweepy #https://github.com/tweepy/tweepy 
import csv 

#Twitter API credentials 
consumer_key = "" 
consumer_secret = "" 
access_key = "" 
access_secret = "" 


def get_all_tweets(screen_name): 
    #Twitter only allows access to a users most recent 3240 tweets with this method 

    #authorize twitter, initialize tweepy 
    auth = tweepy.OAuthHandler(consumer_key, consumer_secret) 
    auth.set_access_token(access_key, access_secret) 
    api = tweepy.API(auth) 



    #initialize a list to hold all the tweepy Tweets 
    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) 

    #save most recent tweets 
    alltweets.extend(new_tweets) 

    #save the id of the oldest tweet less one 
    oldest = alltweets[-1].id - 1 

    #keep grabbing tweets until there are no tweets left to grab 
    while len(new_tweets) > 0: 
     print "getting tweets before %s" % (oldest) 

     #all subsiquent requests use the max_id param to prevent duplicates 
     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)) 

    #transform the tweepy tweets into a 2D array that will populate the csv 
    outtweets = [[tweet.id_str, tweet.created_at, tweet.text.encode("utf-8")]for tweet in alltweets] 

    #write the csv 
    with open('%s_tweets.csv' % screen_name, 'wb') as f: 
     writer = csv.writer(f) 
     writer.writerow(["id","created_at","text"]) 
     writer.writerows(outtweets) 

    pass 


if __name__ == '__main__': 
    #pass in the username of the account you want to download 
    get_all_tweets("owo_batista") 
나는 당신의 outtweets의 지능형리스트의 마지막에있는 경우 문을 추가

답변

1

:

outtweets = [[tweet.id_str, tweet.created_at, tweet.text.encode("utf-8")]for tweet in alltweets if 'car' in tweet.text.encode("utf-8")] 
관련 문제