почтовый запрос Python не генерирует ответ - PullRequest
0 голосов
/ 10 июня 2018

Я пытаюсь создать скрипт на python для расчета расстояния между двумя городами, используя широту и долготу.При этом я беру название города у пользователя и нахожу координаты по этой ссылке .Однако, когда я публикую название города, я не могу сгенерировать ответ (я получаю весь html как ответ)

import requests
city1=input("Enter the first city")
url="https://gps-coordinates.org/"
data={'address':city1}
r=requests.post(url,data=data)
print(r.status_code)
print(r.text)

1 Ответ

0 голосов
/ 10 июня 2018

На этой странице, насколько я могу судить, не предлагается API.API облегчит анализ ответа.Поскольку у них нет API, вам придется анализировать HTML и извлекать соответствующую информацию.Это может оказаться трудным делом, поскольку сама страница использует только Google Карты для поиска местоположения.

К счастью, Google предлагает API для этой задачи - процесс поиска координат для места по названию (это часто называют геокодированием).Если вы выполняете несколько запросов, вы можете использовать их API бесплатно, при определенных ограничениях вам даже не нужно создавать для них учетную запись.

Процесс подробно описан здесь

Для вашего варианта использования вы можете легко адаптировать ваш скрипт:

import requests

city1 = input("Enter the first city")
url = "https://maps.googleapis.com/maps/api/geocode/json"
data = {"address": city1}
r = requests.post(url, params=data)
print(r.status_code)
print(r.text)

Обратите внимание, что параметры передаются через строку запроса.

Если вы хотите выполнить больше, чем несколькоЗапросы необходимо настроить учетную запись и отправить ключ API с вашими запросами, см. документацию для получения инструкций по этому вопросу.

...