Twitter的流媒体API(状态/过滤器)&错误的推文

时间:2015-02-25 20:53:48

标签: python twitter twitter-streaming-api

背景

我正在使用Twitter的statuses/filter Streaming API并使用地理边界框进行过滤。

问题

我可以“完整性检查”的推文(例如,具有Point类型坐标的推文,因此允许我检查它是否属于边界框),大于80% NOT 属于边界框。

简而言之,网上有大量的误报。

好消息

好消息似乎API 错过任何推文(即到目前为止,我在框中发布的每条推文都是被API捕获。)

坏消息是...... 80%的误报。

我很好奇是否有人注意到同样的现象(和/或知道如何获得更好的结果)。

这并不重要,但我正在使用TwitterAPI Python库。

示例代码,如果您想尝试

from TwitterAPI import TwitterAPI
api = TwitterAPI("your", "codes", "go", "here")

swLon = -74
swLat = 40
neLon = -73
neLat = 41
stream = api.request('statuses/filter', {'locations': str(swLon) +','+ str(swLat) +','+ str(neLon) +','+ str(neLat) })

for tweet in stream:

# verify the tweet has geo information (and a usable point-type coordinate pair)
if 'geo' in tweet:
    if tweet['geo'] is not None:
        if tweet['geo']['type'] == 'Point':               
            # get the tweet's coordinates
            tweetLat = tweet['geo']['coordinates'][0]
            tweetLon = tweet['geo']['coordinates'][1]

            # sanity check to ensure the tweet is actually within our market bounding box
            if tweetLat < neLat and tweetLat > swLat and tweetLon < neLon and tweetLon > swLon:
                print "good"
            else:
                print "false +"

0 个答案:

没有答案