Je suis nouveau au tweepy
bibliothèque. Je peux capturer un flux Twitter si j'utilise un filtre comme celui présenté ci-dessous, à la recherche de tweets contenant le mot neige dans le champ de texte.
import tweepy
ckey = ""
csecret = ""
atoken = ""
asecret = ""
auth = OAuthHandler(ckey, csecret)
auth.set_access_token(atoken, asecret)
twitterStream = Stream(auth, listener())
twitterStream.filter(track=["snow"])
Cependant, je ne sais pas comment capturer tous les tweetssans faire de filtrage. Si je laisse la dernière ligne du code ci-dessus, le programme est exécuté, mais je ne reçois pas de tweets. Si je modifie le paramètre de piste en track=[]
ou track=[""]
, Je reçois un code d’erreur 406 de l’API Twitter.
J'utilise Python 3.4.2.
Réponses:
2 pour la réponse № 1Vous pouvez utiliser twitterStream.sample()
comme la dernière ligne pour cela. Il va chercher tous les tweets pour vous.
2 pour la réponse № 2
Ne faites pas de recherche par lieu. Cela limiterait les tweets pour lesquels la géolocalisation n'est pas activée. Ce que je suggère est d'utiliser stream.sample () à la place. IL n'a pas de paramètres nécessaires. Voir la documentation tweepy pour plus d'informations.
0 pour la réponse № 3
l'API de streaming ne peut être utilisée qu'avec au moins un paramètre de prédicat, comme spécifié dans le twitter Documentation.
heureusement, il y a aussi un locations
paramètre, et vous pouvez passer la valeur [-180,-90,180,90]
obtenir des tweets de chaque point sur la terre.
Ainsi, dans l'extrait ci-dessus, la dernière ligne devrait être:
twitterStream.filter(locations=[-180,-90,180,90])
le seul filtrage que vous obtiendrez est que l’utilisateur ne doit pas avoir désactivé la géolocalisation.