¿Cómo puedo determinar una región, país y continente en función de una ciudad que use Python?

Por lo tanto, tengo una lista de un montón de combinaciones de ciudad y estado / región (donde algunas ciudades no tienen un estado / región emparejado) y me gustaría usarlas para completar el país, el continente y el estado / región donde no se suministra) información. Donde caben múltiples regiones, estoy dispuesto a aceptar cualquiera de ellas, aunque la más grande sería la mejor. ¿Cuál es la biblioteca más simple para Python que me permitirá hacer esto?

Un ejemplo: dado “Estambul”, me gustaría algo como:

{istanbul, istanbul province, turkey, europe}

Gracias a Kimvais y Lennart Regebro, he descubierto una forma bastante sencilla de hacer lo que quería, y quería publicar los pasos básicos aquí para cualquier persona que tenga el mismo problema.

  1. Instalar geopy ( http://code.google.com/p/geopy/ )
  2. Usa lo siguiente:

     from geopy import geocoders gn = geocoders.Google() place, (lat, lng) = gn.geocode("istanbul") print place 

Esto imprime: Istanbul/Istanbul Province, Turkey , que es impresionante y exactamente lo que quería (sin la parte del continente, pero eso es bastante fácil de hacer solo con una lista de combos de país / continente (sí, sé que Turquía es en 2 continentes diferentes. Me alegra simplemente colocarlo en uno para mis propósitos, ya que no me importa demasiado).

De todos modos, espero que esto ayude a alguien con el mismo problema.

Supongo que la interfaz de geopy para geonames podría ser útil

No necesitas ninguna biblioteca para esto, en realidad. Lo que necesitas es una lista de ubicaciones geográficas. Si no tiene servicios de geolocalización en línea que pueda usar, esto se hará por usted, accesible a través de http (y, por lo tanto, de urllib). Es posible que necesite una biblioteca para interpretar la respuesta, que podría ser XML, por ejemplo.