/ / Tweepy ne trouve pas la piste - Python, Twitter, Tweepy

Tweepy ne trouve pas la piste - Python, Twitter, Tweepy

J'ai besoin de recevoir des tweets pour mon application, mais tweepy ne peut pas "trouver des pistes. J'ai" cherché un site et je ne peux pas trouver pourquoi il se produit. Il y a mon code. Quelques idées?

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"])

Réponses:

1 pour la réponse № 1

J'ai trouvé une meilleure solution avec 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)