Python 2.7 twitter 流媒体 API 语言过滤器 [英] Python 2.7 twitter streaming api language filter
问题描述
我正在尝试使用 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屋!