簡體   English   中英

嘗試從特定日期的全天獲取推文,但不會寫到CSV文件

[英]trying to get tweets from the full day on a specific date but it wont write out to the CSV file

嘗試獲取所有帳戶發布的推文以寫入CSV文件。

程序下載推文,但不會將其寫入CSV文件

我怎樣才能將推文寫入CSV文件

d1 = datetime.date(2016, 8, 4)

for tweet in alltweets:

    #if (datetime.datetime.now() - tweet.created_at).days < 1:
    #for single_date in daterange(d1, d2):
    while True:
        if (tweet.created_at == d1):
        # transform the tweepy tweets into a 2D array that will populate the csv    
        #outtweets.append([tweet.user.name, tweet.created_at, tweet.text.encode('UTF-8')])
            outtweets.append(list(itertools.chain([tweet.user.name, tweet.created_at],tweet.text.split(' '))))

        else:
            deadend = True
            return
        if not deadend:
            page += 1
    break

#todaysDate = datetime.datetime.now().date()
# write the csv    
with open('%s_%s.csv' % (screen_name, d1), 'w', encoding='UTF-8') as f:
    writer = csv.writer(f)
    writer.writerow(["Username", "Tweeted at", "Text"])
    writer.writerows(outtweets)
pass

print ("CSV written")

**編輯1 **

todaysDate = date(2016,8,4)

類監聽器(tweepy.StreamListener):

def on_data(self,data):
    print (data)



    with open('%s_.csv' % (todaysDate), 'w', encoding='UTF-8') as f:
        writer = csv.writer(f)
        writer.writerow(["Username", "Tweeted at", "Text"])
        writer.writerows(data)
    pass

    print("CSV Written")

    #with open('tweets_file.txt','a') as tf:
        #tf.write(data)
        #tf.close()

    return True

def on_error(self, status):
    print (status)

auth = tweepy.OAuthHandler(consumer_token, consumer_secret)
auth.set_access_token(access_token, access_secret)
twitterStream=tweepy.streaming.Stream(auth, listener())
while (todaysDate == date(2016, 8, 4)):
    twitterStream.filter()
    todaysDate = date.now()

print("CSV Written")

嘗試以下操作(在此示例中,獲取帶有單詞“ Barry”的推文):

from tweepy.streaming import Stream
from tweepy import OAuthHandler
from tweepy import StreamListener

ckey='yourCkey'
csecret='yourCsecret'
atoken='yourAtoken'
asecret='yourAsecret'

class listener(StreamListener):

    def on_data(self,data):
        print data

        with open('tweets_file.txt','a') as tf:
            tf.write(data)
            tf.close()

        return True

    def on_error(self, status):
        print status

auth=OAuthHandler(ckey,csecret)
auth.set_access_token(atoken, asecret)
twitterStream=Stream(auth, listener())
twitterStream.filter(track=['Barry'])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM