Использование Twitter API с Python (геокод)

Как я могу сделать следующий вызов в Python? Версия псевдокода:

jsonTwitterResponse = twitter.get(up to max of 3 
                      tweets within 3km of longitude: 7, latitude: 5)
print jsonTwitterResponse

Похоже, API geocode — это то, что мне нужно. Я понятия не имею, как на самом деле закодировать это. Как бы я сделал это в реальном коде?


person Casey Patton    schedule 26.11.2011    source источник


Ответы (3)


Вот пример запроса geocode:

import urllib, json, pprint

params = urllib.urlencode(dict(q='obama', rpp=10, geocode='37.781157,-122.398720,1mi'))
u = urllib.urlopen('http://search.twitter.com/search.json?' + params)
j = json.load(u)
pprint.pprint(j)

Полный REST API Twitter описан здесь: https://dev.twitter.com/docs/api Кроме того, в Твиттере есть Часто задаваемые вопросы о поиске местоположения, которые могут интерес.

person Raymond Hettinger    schedule 26.11.2011

В дополнение к ответу Рэймонда Хеттингера я хотел бы упомянуть, что вы также можете использовать такой запрос, как "near:Amsterdam within:5km", если вы не хотите работать с фактическими координатами.

Пример: http://search.twitter.com/search?q=near:Amsterdam%20within:5km

person Tom van der Woerdt    schedule 26.11.2011
comment
Хороший. Я не знал о таком варианте :-) - person Raymond Hettinger; 27.11.2011

Я думаю, что этот метод мог быть добавлен совсем недавно:

import urllib, json, pprint

params = urllib.urlencode(dict(lat=37.76893497, long=-122.42284884))
u = urllib.urlopen('https://api.twitter.com/1/geo/reverse_geocode.json?' + params)
j = json.load(u)
pprint.pprint(j)

Документация: https://dev.twitter.com/docs/api/1/get/geo/reverse_geocode

person A T    schedule 21.11.2012