背景
我正在使用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 +"