I need get tweets for my app, but tweepy can't find some tracks. I've searched for any site and can't find why is happening.There is my code. Some ideas?
class listener(StreamListener):
def __init__(self, api=None):
self.api = api or API()
self.n = 0
self.m = 100
def on_data(self, data):
self.n = self.n+1
if self.n < self.m:
lang = data.split('","lang":"')[1].split('","')
lang = lang[0][0:2]
#if(guessLanguageName(text_tweet) == "English"):
if(lang == "en"):
tweet = data.split('"id_str":"')[1].split('","source":"')[0]
text_tweet = tweet.split('","text":"')[1]
id_tweet = tweet.split('","text":"')[0]
out = id_tweet +' '+ text_tweet
print out + "\n"
tweets = open('tweets.txt', 'a')
tweets.write(out)
tweets.write('\n')
tweets.close()
return True
else:
return False
def on_error(self, status):
print status
auth = tweepy.OAuthHandler(ckey, csecret)
auth.set_access_token(atoken, asecret)
twitterStream = tweepy.streaming.Stream(auth, listener())
archive = open('hashtag.txt', 'r')
twitterStream.filter(track=['sony xperia u'])
I found a better soluction with api.cursor:
import tweepy
def twitter_fetch(search_name,maxnumtweets):
consumer_token = ''
consumer_secret = ''
access_token = ''
access_secret = ''
auth = tweepy.OAuthHandler(consumer_token,consumer_secret)
auth.set_access_token(access_token,access_secret)
api = tweepy.API(auth)
count = 0
count_url = 0
count_url_total = 0
count_tweets = 0
try:
for tweet in tweepy.Cursor(api.search,q=(search_name), lang = 'en').items(maxnumtweets):
count_url = len(tweet.entities['urls'])
count_url_total += count_url
count +=1
if count_url > 0:
count_check_text = 0
text = tweet.text
print "urls: "
for url in tweet.entities['urls']:
print url['url']
count_check_text += 1
no_expanded_urls.write(url['url'].encode('utf-8'))
no_expanded_urls.write('\n')
out = tweet.id_str +" " + text
print "\nid_str and tweet: "
print out.encode('utf-8')
tweets.write(out.encode('utf-8'))
tweets.write('\n')
count_tweets+=1
print "-------------------------------------------------------------"
print "-------------------------------------------------------------"
print "-------------------------------------------------------------"
tweets.close()
no_expanded_urls.close()
print "Searched for: " + hashtag
print "Count tweets:"
print count_tweets
print "Count urls:"
print count_url_total
print count
except tweepy.TweepError as e:
print "error"
if __name__ == '__main__':
archive = open('hashtag.txt', 'r')
hashtag = archive.readline()
archive.close()
count_tweets = 0
max_tweets = 50
tweets = open('tweets.txt', 'a')
tweets = open('tweets.txt', 'w')
no_expanded_urls = open('noExpandedUrls.txt', 'w')
twitter_fetch(hashtag, max_tweets)
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.