这是我的一个项目中的一部分代码,我正在试图发布推文,我计划将其保存到Google App Engine的数据库中。对我来说,能够获得坐标的纬度和长度值是非常重要的。 (我打算在绘制这些。)if语句来检查坐标是否在一个范围内
目前的结果是这个样子......
“的鸣叫文本” @删节不知道,说实话......作为谷歌的产品,你会也这样觉得。他们可能在网上商店有官方扩展。 \'User Name'REDACTED \'Created at't2013-09-26 08:39:45 \'Created with'tTwitter for Android \'geo't {u'type':u'Point',u 'coordinates':[52.569001,-2.7846582]}'coordinates't {u'type':u'Point',u'coordinates':[-2.7846582,52.569001]}
我想做的是改变它说“如果status.coordinates不是无”来检查坐标是否在一个范围内。即Lat 50-55和长0-5。
谢谢! :)
class CustomStreamListener(tweepy.StreamListener):
def on_status(self, status):
if status.coordinates is not None:
try:
print "'tweet text'%s\n\ 'User Name't%s\n\ 'Created at't%s\n\ 'Created with't%s\n\ 'geo't%s\ 'coordinates't%s" % (status.text,
status.author.screen_name,
status.created_at,
status.source,
status.geo,
status.coordinates)
except Exception, e:
print >> sys.stderr, 'Encountered Exception:', e
pass
def on_error(self, status_code):
print >> sys.stderr, 'Encountered error with status code:', status_code
return True # Don't kill the stream
def on_timeout(self):
print >> sys.stderr, 'Timeout...'
return True # Don't kill the stream
我建议缩写的名称,并通过解包分配('纬度,经度= coordinates'),但另有我同意这个解决方案。 – Alfe
非常感谢你,代码运行(&是超级有用的),但它似乎无法访问坐标。这是坐标数据提供的格式:{u'type':u'Point',u'coordinates':[52.569001,-2.7846582]} – William
&这就是我的代码目前的样子... class def on_status(self,status): def check_coords(self,status): lat = status.coordinates [1] lng =状态。坐标[0] 返回49
William