代码之家  ›  专栏  ›  技术社区  ›  NeoVe

在Django上使用postcodes.io API

  •  1
  • NeoVe  · 技术社区  · 7 年前

    我正在努力做到这一点:

    使用postcodes.io获取每个邮政编码的纬度和经度 并在模板中的每个存储位置旁边渲染它们

    我把一系列的邮政编码编成了一个 json 文件:

    [
    {
      "name": "St_Albans",
      "postcode": "AL1 2RJ"
    },
    {
      "name": "Hatfield",
      "postcode": "AL9 5JP"
    },
    {
      "name": "Worthing",
      "postcode": "BN14 9GB"
    },
    {
      "name": "Rustington",
      "postcode": "BN16 3RT"
    },
    {
      "name": "Eastbourne",
      "postcode": "BN23 6QD"
    }, ...
    

    我需要检查一下 postcodes.io json 结果。

    0.- https://postcodes.io/docs

    1 回复  |  直到 7 年前
        1
  •  2
  •   ruddra    7 年前

    你可以试试看 requests . 试着这样做:

    resp = requests.get('https://api.postcodes.io/postcodes/BN14 9GB')
    resp.json()
    

    data = {  
      "postcodes" : ["PR3 0SG", "M45 6GN", "EX165BL"]
    }
    
    resp = requests.post('https://api.postcodes.io/postcodes/', data=data)
    resp.json()
    

    将这些与json文件集成:

    json_data = open('path_to/postcodes.json').read()
    
    for i in json_data:
        post_code = i.get('postcode')
        resp = requests.get('https://api.postcodes.io/postcodes/{}'.format(postcode))
        i.update({'latitude': resp.json().get('latitude'), 'longitude': resp.json().get('longitude')})
    
    print(json_data)