我目前正在做一个小项目,在这个项目中,我需要使用python通过tweepy发送tweet,并包括它们的纬度/经度。我目前有一段成功执行的代码,但我不知道如何验证tweet是否被成功地进行了地理编码,如果我使用一个免费的站点查看地理位置的tweet,我的推文似乎永远不会出现,那么有什么方法可以确保Twitter接受我的lat/长值并相应地对tweet进行地理编码呢?
import tweepy
CONSUMER_KEY = 'xxxxxxxxxxxxxxxxx'
CONSUMER_SECRET = 'xxxxxxxxxxxxxxxxx'
ACCESS_KEY = 'xxxxxxxxxxxxxxxxx'
ACCESS_SECRET = 'xxxxxxxxxxxxxxxxx'
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_KEY, ACCESS_SECRET)
api = tweepy.API(auth)
tweet = raw_input("Tweet text: ")
latitude = 51.51XXXXX
longitude = -0.13XXXXX
api.update_status(tweet, lat = latitude, long = longitude)
print "Sent"值得注意的是,如果我做了下面的搜索,而我的推文并没有显示(而且推文中包含了'test‘这个词)。但话又说回来,这可能是因为他们没有在免费API上对所有内容进行采样?
results = tweepy.Cursor(api.search, q='test', geocode="51.5129418,-0.1322831,1km").items(10)
for result in results:
print result.text发布于 2017-08-17 17:35:41
经过深思熟虑,我找到了答案:
1)这个简单的问题可能会让人们对此感到困惑--你可能需要在你的帐户上启用地理定位!(啊,哇!)检查设置上的Tweet和位置(这基本上是我的问题)。
2)在更新状态时,只需传递lat和long,place_id等是可选/可选的定位方式。这没有必要将地理信息传递给Twitter --实际上,如果通过Tweepy传递给Twitter的内容存在技术问题,Twitter几乎肯定会出错。
3)要检查您的tweet是否是地理编辑的,您将在tweet信息中将地理启用为True,然后在json中也会看到lat和long。
4)由于只有很少的tweet启用了geo,所以您应该在大多数免费地图服务上看到它,因为它们不会达到速率限制。这里有一个很好的检查方法:http://onemilliontweetmap.com/
https://stackoverflow.com/questions/45739765
复制相似问题