• Python3爬虫 利用百度地图api得到城市经纬度


    有2种方式,第一种是利用urllib ,

    方法1:利用urllib , 先把url 转成urlcode,然后读取网页,读到网页再用json读取内容,比较麻烦。

    可以在浏览器输入,看一下格式。

    http://api.map.baidu.com/geocoder?key=f247cdb592eb43ebac6ccd27f796e2d2&output=json&address=北京市

    2.将查询转换为urlcode

    读取网页内容:

     读取json数据:

     程序:

     1 from urllib import parse
     2 query = {
     3  'key' : 'f247cdb592eb43ebac6ccd27f796e2d2',
     4  'address': '北京市',
     5  'output':'json',
     6   }
     7 base = 'http://api.map.baidu.com/geocoder?'
     8 url = base+parse.urlencode(query)
     9 
    10 import urllib.request
    11 doc = urllib.request.urlopen(url)
    12 s = doc.read().decode('utf-8')  #一定要解码!!!!
    13 import json
    14 jsonData = json.loads(s)
    15 lat=jsonData['result']['location']['lat']
    16 lng =jsonData['result']['location']['lng']

    方法二:利用request模块,更加简单。

    程序:

    1 address = '北京市'
    2 url= 'http://api.map.baidu.com/geocoder?output=json&key=f247cdb592eb43ebac6ccd27f796e2d2&address='+str(address)
    3 response = requests.get(url)
    4 answer = response.json()
    5 lon = float(answer['result']['location']['lng'])
    6 lat = float(answer['result']['location']['lat'])

     参考:

    http://www.cnblogs.com/GuoYaxiang/p/6232831.html

    http://www.cnblogs.com/Lands-ljk/p/5447127.html

    http://blog.csdn.net/dove1980/article/details/7929693

     http://blog.csdn.net/lanchunhui/article/details/51207696

  • 相关阅读:
    PIC32MZ tutorial -- Core Timer
    PIC32MZ tutorial -- OC Interrupt
    PIC32MZ tutorial -- External Interrupt
    PIC32MZ tutorial -- Watchdog Timer
    PIC32MZ tutorial -- Output Compare
    PIC32MZ tutorial -- Input Capture
    PIC32MZ tutorial -- 32-bit Timer
    log | logstash
    Vxlan学习笔记——原理
    python——字符串格式化
  • 原文地址:https://www.cnblogs.com/zle1992/p/7209932.html
Copyright © 2020-2023  润新知