Python 2.7 twitter 流媒体 API 语言过滤器 [英] Python 2.7 twitter streaming api language filter

查看:21
本文介绍了Python 2.7 twitter 流媒体 API 语言过滤器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用 Twitter 流媒体 API 和语言过滤器.正如 Twitter API 手册所建议的那样 (https://dev.twitter.com/streaming/overview/request-parameters#language),我采用了以下方式,但都不起作用.

I am trying to use twitter streaming API and the language filter. As suggested by the Twitter API manual (https://dev.twitter.com/streaming/overview/request-parameters#language), I put the following ways and none of them work.

 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.还是不行.

I also tried en-US instead of en. Still doesn't work.

各位大师能指教一下吗?谢谢!完整代码如下:

Could you any guru enlighten? Thanks! The followings are the full code:

 #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

推荐答案

filter() 函数的正确关键字名称实际上是 languages(注意 filter()code>s 在最后.)所以,你的最后一行应该是这样的:

The correct name of the keyword for the filter() function is actually languages (note the s on the end.) So, your last line should look like this:

stream.filter(track=['abc'], languages=['en'])

这篇关于Python 2.7 twitter 流媒体 API 语言过滤器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆