Sergio La Rosa
Sergio La Rosa

Reputation: 495

Tweepy: extended mode with api.search

I've written a simple script to get the most trending 300 tweets containing a specific hashtag.

for self._tweet in tweepy.Cursor(self._api.search,q=self._screen_name,count=300, lang="en").items(300):
        self._csvWriter.writerow([self._tweet.created_at, self._tweet.text.encode('utf-8')])

It works well and it save the result to CSV but the tweets are truncated.

I modified the code like this, adding the twitter_mode=extended parameter:

for self._tweet in tweepy.Cursor(self._api.search,q=self._screen_name,count=300, lang="en", tweet_mode="extended").items(300):
        self._csvWriter.writerow([self._tweet.created_at, self._tweet.text.encode('utf-8')])

But I got this exception:

AttributeError: 'Status' object has no attribute 'text

My question is: how can I save an complete tweet using a Cursor? (complete = not truncated)

Thanks in advance (and sorry, I'm a Tweepy newbie trying to learn as much as possible)

Upvotes: 5

Views: 3093

Answers (1)

Joe Mayo
Joe Mayo

Reputation: 7513

You're really close, do this instead:

for self._tweet in tweepy.Cursor(self._api.search,q=self._screen_name,count=300, lang="en", tweet_mode="extended").items(300):
    self._csvWriter.writerow([self._tweet.created_at, self._tweet.full_text.encode('utf-8')])

Notice that I used full_text in self._tweet.full_text.encode('utf-8'), rather than just text. The text property is null when you use tweet_mode='extended' and the tweet appears in full_text instead.

Upvotes: 4

Related Questions