我正在使用Twitter API的Twitter包装器(不是tweepy,但也许这是我的问题)。另外,我正在使用Spyder IDE。我可以轻松地按轨道过滤,因为我无法确定按位置过滤的确切语法。当我尝试:
auth = twitter.oauth.OAuth(OAUTH_TOKEN,OAUTH_TOKEN_SECRET,
CONSUMER_KEY,CONSUMER_SECRET)
twitter_api = twitter.Twitter(auth=auth)
twitter_stream = twitter.TwitterStream(auth=twitter_api.auth)
stream = twitter_stream.statuses.filter(locations=[-6.38,49.87,1.77,55.81])
我收到错误:
details: Location track items must be given as pairs of comma separated lat/longs:
[Ljava.lang.String;@1f1dbc92
我尝试了几种变体,似乎没有任何效果,例如传递字符串与浮点数。有人可以解释一下如何正确地做到这一点吗?
答案 0 :(得分:4)
实际上,经过一些猜测后,显然位置参数应该是一个字符串,其中包含以逗号分隔的经度/纬度对,第一对是西南角,第二对是配对感兴趣的边界框的东北角。所以在你的例子中,你应该写:
stream = twitter_stream.statuses.filter(locations =“ - 6.38,49.87,1.77,55.81”)
答案 1 :(得分:1)
问题出在这一行stream = twitter_stream.statuses.filter(locations=[-6.38,49.87,1.77,55.81])
locations
应该是元组列表(lat,lon)
可能的格式可能是>> stream = twitter_stream.statuses.filter(locations=[(-6.38,49.87), (1.77,55.81)])