我正在尝试创建一个python脚本,使用纬度和经度计算两个城市之间的距离。其中,我从用户处获取城市的名称,并使用此link查找坐标。 但是,当发布城市名称时,我无法生成响应(我将整个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)
答案 0 :(得分:0)
据我所知,此页面没有提供API。 API可以轻松解析响应。由于他们没有API,您必须解析HTML并提取相关信息。由于页面本身仅使用Google地图查找位置,因此可能会很困难。
幸运的是,Google为此任务提供了一个API,即为给定名称的地点查找坐标的过程(通常称为地理编码)。 如果您执行的请求很少,您可以免费使用他们的API,在一定限度内您甚至不需要为他们设置帐户。
该流程已广泛描述here
对于您的用例,您可以轻松调整脚本:
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密钥,请参阅文档以获取相关说明。