2016-11-12 183 views
5

我有以下用于检索推文的代码。指定的地理编码是纽约州内的一个地区。但是,当我使用print(json_reply ['user'] ['location'])打印位置时,它将打印位置为荷兰Voorburg。我想这是用户在配置文件信息中指定的位置。此外,地理编码总是返回null。我对纽约州的Tweets和坐标感兴趣。如何从Tweepy获取坐标?

tweets = api.search(q='xyz', lang='en', since='2016-11-02',until='2016-11-06', geocode='43,-75,90km', count=1) 

json_str = json.dumps(tweets[0]._json) 
print(json_str) 
json_reply = json.loads(json_str) 
print(json_reply['text']) 
print(json_reply['created_at']) 
print(json_reply['user']['location']) 
print(json_reply['geo']) 

沃尔堡,荷兰

回答

2

实际上,你可以用tweepy的搜索API做到这一点。

首先获得place_id通过...

>>> places = api.geo_search(lat='43', long='-75', max_results=10) 
>>> places[0].id 
u'23e921b82040ccd6' 

然后使用tweepy的搜索API与place:<place_id>

tweets = api.search(q='place:23e921b82040ccd6', count=100) 

参见:https://dev.twitter.com/rest/public/search-by-place