设置:我想过滤一条tweet流,以便只从德国获得tweet,然后将每个tweet的坐标保存在文件中。为了处理推文,我使用tweepy。
为了进行过滤,我使用以下代码:
stream.filter(locations=[5.0770049095, 47.2982950435, 15.0403900146, 54.9039819757])
关于我拥有的保存坐标部分:
@staticmethod
def get_tweet(tweet):
x = tweet.coordinates['coordinates'][0]
y = tweet.coordinates['coordinates'][1]
output = open("tweets.txt", "a")
output.write(str(x) + "," + str(y))
output.write('\n')
output.close()
运行该程序时,出现错误,即“ 'NoneType'对象不可下标”。为了消除错误,我在 get_tweet 函数中添加了一个if语句。
if tweet.coordinates is not None:
仅作记录,我添加了一个变量,用于计算已过滤的推文的数量。我已经运行了10秒的流,并收集了6条tweets,但是不幸的是tweets.txt是空的。
我的问题是,位置过滤和tweet.coordinates之间是什么关系?第一个的基础是什么,第二个的基础是什么?为什么推特的坐标即使已根据某些坐标进行了过滤,也没有出现在文件中?