Я пытаюсь использовать twitter streaming API и языковой фильтр. Как было предложено руководством API Twitter (https://dev.twitter.com/streaming/overview/request-parameters#language), я поставил следующие способы, и никто из них не работает.Python 2.7 twitter streaming api language filter
filter(track=['keyword'],language=en) # NameError: name 'en' is not defined
filter(track=['keyword'],language='en') # TypeError: filter() got an unexpected keyword argument 'language'
filter(track=['keyword'],language=['en']) # TypeError: filter() got an unexpected keyword argument 'language'
filter(track=['keyword'],lan=en) #TypeError: filter() got an unexpected keyword argument 'lan'
filter(track=['keyword'],lan='en') #TypeError: filter() got an unexpected keyword argument 'lan'
filter(track=['keyword'],lan=['en']) #TypeError: filter() got an unexpected keyword argument 'lan'
Я также попробовал en-US вместо en. Все еще не работает.
Не могли бы вы рассказать об этом гуру? Благодаря! Ниже приведен полный код:
#Import the necessary methods from tweepy library
# The code is modified from the following links
# http://adilmoujahid.com/posts/2014/07/twitter-analytics/
# Streaming API requesting parameters: https://dev.twitter.com/streaming/overview/request-parameters#language
from tweepy.streaming import StreamListener
from tweepy import OAuthHandler
from tweepy import Stream
#Variables that contains the user credentials to access Twitter API (removed for privacy)
access_token = ""
access_token_secret = ""
consumer_key = ""
consumer_secret = ""
#This is a basic listener that just prints received tweets to stdout.
class StdOutListener(StreamListener):
def on_data(self, data):
print data
return True
def on_error(self, status):
print status
if __name__ == '__main__':
#This handles Twitter authetification and the connection to Twitter Streaming API
l = StdOutListener()
auth = OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
stream = Stream(auth, l)
#This line filter Twitter Streams to capture data by the keywords: 'python', 'javascript', 'ruby'
stream.filter(track=['abc']) # <= here is the language filter issue
По ошибке на скриншоте нет ключевого слова agrument с языком/lan в нем. Проверьте документацию. –
Привет, в официальном документе говорится: «Например, соединение с языком = en приведет только к твитам, обнаруженным на английском языке». Но это никогда не срабатывает. Вот почему я публикую здесь. – Chubaka
Вы используете любой пакет python? Отправьте еще несколько кодов. –