2016-06-09 5 views
1

Ich arbeite mit Tweepy (REST-API-Client Python) und ich versuche, Tweets nach mehreren Schlüsselwörtern und ohne URL in Tweet enthalten.Tweepy API-Suche hat kein Schlüsselwort

Aber Suchergebnisse sind nicht zu unserer Zufriedenheit. Sieht so aus als hätte die Abfrage einen Fehler und wurde gestoppt. Darüber hinaus hatten wir beobachtet, dass die Ergebnisse nicht einzeln (wie bisher) in Großpackungen mit 100 Stück zurückgegeben wurden.

Können Sie mir bitte sagen, warum diese Suche nicht richtig funktioniert?

Wir wollten alle Tweets, die 'Amazon' erwähnen, ohne URL-Links im Text. Wir verwendeten die unten gezeigte Suche. Die Suchergebnisse enthielten immer noch Tweets mit URLs oder ohne das Keyword "Amazon".

Können Sie uns bitte wissen lassen, was wir falsch machen?

auth = tweepy.AppAuthHandler(consumer_key, consumer_secret) 
api = tweepy.API(auth, wait_on_rate_limit=True, wait_on_rate_limit_notify=True) 
searchQuery = 'Amazon OR AMAZON OR amazon filter:-links' # Keyword 

new_tweets = api.search(q=searchQuery, count=100, 
         result_type = "recent", 
         max_id = sinceId, 
         lang = "en") 

Antwort

1

Das Minuszeichen sollte vor dem „Filter“ gesetzt werden, nicht vor „Links“, wie folgt aus: searchQuery = 'Amazon OR AMAZON OR amazon -filter:links'

Auch bezweifle ich, dass die count = 100 Option gültig ist, da es nicht ist aufgeführt auf der API documentation (die jedoch nicht sehr aktuell sein kann). Versuchen Sie, das durch rpp = 100 zu ersetzen, um Tweets in Massenpacks zu erhalten.

Ich bin mir nicht sicher, warum einige der gefundenen Tweets nicht das "Amazon" -Schlüsselwort enthalten, aber eine Möglichkeit ist, dass "Amazon" im Benutzernamen des Posters enthalten ist. Ich weiß nicht, ob Sie das direkt in der Abfrage filtern können oder ob Sie es filtern möchten, da dies bedeuten würde, dass Sie Tweets von den offiziellen Amazon-Konten ablehnen würden. Ich würde vorschlagen, dass für jeden Tweet, den die Abfrage zurückgibt, Sie überprüfen, um sicherzustellen, dass es "Amazon" enthält.

+0

Dies funktionierte. Nicht sicher, warum dies nicht als Antwort markiert wurde. – ThinkCode