Geopy: erreur de délai d'attente de capture
Je suis en utilisant geopy de géocoder des adresses et je veux rattraper les erreurs de délai d'attente et de les imprimer afin que je puisse faire certaines de contrôle de la qualité à l'entrée. Je suis en train de monter la demande de géocodage dans un try/catch, mais ça ne fonctionne pas. Toutes les idées sur ce que je dois faire?
Voici mon code:
try:
location = geolocator.geocode(my_address)
except ValueError as error_message:
print("Error: geocode failed on input %s with message %s"%(a, error_message))
- Je obtenir de l'exception suivante:
File "/usr/local/lib/python2.7/site-packages/geopy/geocoders/base.py", line 158, in _call_geocoder
raise GeocoderTimedOut('Service timed out')
geopy.exc.GeocoderTimedOut: Service timed out
Vous en remercie d'avance!
source d'informationauteur MoreScratch
Vous devez vous connecter pour publier un commentaire.
Essayez ceci:
Vous pouvez également envisager d'augmenter le délai d'attente sur le géocodage à l'appel que vous faites pour votre geolocator. Dans mon exemple, il serait quelque chose comme:
ou
Vous pouvez être confronté à ce problème parce que vous avez essayé de demander à cette adresse plusieurs fois et ils ont temporairement bloqué ou ralenti vous vers le bas en raison de leur politique d'utilisation. Il stipule que le plus de demandes que d'une par seconde, et que vous devriez mettre en cache vos résultats. J'ai rencontré ce problème et si vous avez un couple de solutions. Si vous ne voulez pas changer votre code de la quantité que vous pouvez obtenir une clé API Google que vous pouvez utiliser pour quelque chose comme 2500 demandes/jour gratuitement ou vous pouvez mettre en cache vos résultats. Parce que j'étais déjà à l'aide de DynamoDB sur AWS pour mon problème, je suis allé de l'avant et juste créé un tableau que je cache mes résultats. Voici l'essentiel de mon code.