zoukankan      html  css  js  c++  java
  • python-基站位置查询

    本文采用的接口是聚合数据提供的

    python2.7环境,3.x环境试了下好像不支持,获取位置信息为空

    如下为运用代码:

     1 #coding=utf-8
     2 '''
     3 Created on 2019年9月18日
     4 
     5 @author: yanerfree
     6 
     7 python2.7
     8 '''
     9 
    10 import json,urllib
    11 from urllib import urlencode
    12 
    13 #----------------------------------
    14 # 移动联通基站调用示例代码 - 聚合数据
    15 # 在线接口文档:http://www.juhe.cn/docs/8
    16 #----------------------------------
    17  
    18 def main(loc):
    19  
    20     #配置您申请的APPKey---需要申请
    21     appkey = "******"
    22     #1.基站定位
    23     getAddress(appkey,loc,"GET")
    24 
    25 #基站定位
    26 def getAddress(appkey, loc, m="GET"):
    27     url = "http://v.juhe.cn/cell/query"
    28     params = {
    29         "mnc" : loc[1], #移动基站:0 联通基站:1  默认:0
    30         "lac" : loc[2], #小区号
    31         "ci" : loc[3], #基站号
    32         "hex" : "10", #进制类型,16或10,默认:10
    33         "dtype" : "json", #返回的数据格式:json/xml/jsonp
    34         "callback" : "", #当选择jsonp格式时必须传递
    35         "key" : appkey, #APPKEY
    36  
    37     }
    38     params = urlencode(params)
    39     if m =="GET":
    40         f = urllib.urlopen("%s?%s" % (url, params))
    41     else:
    42         f = urllib.urlopen(url, params)
    43  
    44     content = f.read()
    45     print 'content:',content
    46     if content["error_code"] == 0:
    47     #if content["reason"] == u"查询成功"
    48         print '查询成功'
    49         result = content["result"]
    50         return result["adress"]
    51         
    52     '''
    53     res = json.loads(content)
    54     print 'res:',res
    55     if res:
    56         error_code = res["error_code"]
    57         if error_code == 0:
    58             #成功请求
    59             print res["result"]
    60         else:
    61             print "%s:%s" % (res["error_code"],res["reason"])
    62     else:
    63         print "request api error"
    64     '''
    65         
    66 
    67  
    68 if __name__ == '__main__':
    69     
    70     loc_str = '0-460,0,6350,53394,30,16,0,10-460,0,6350,53394,30,16,0,10-460,0,6350,53394,30,16,0,10'
    71     
    72     loc = loc_str.split('-')[1].split(',')
    73     print loc
    74     main(loc)
    75     
    View Code

    python2.7查询成功:

    content: {"reason":"查询成功","result":{"mcc":"460","mnc":"0","lac":"6350","ci":"53394","lat":"31.046659471148","lon":"121.761917116247","radius":"431","address":"上海市浦东新区惠南镇良丰新村3号楼"},"error_code":0}

    python3.7查询失败:

    content: b'{"resultcode":"101","reason":"xe9x94x99xe8xafxafxe7x9ax84xe8xafxb7xe6xb1x82KEY","result":null,"error_code":10001}'

  • 相关阅读:
    centos 安装tomcat
    UTF8 的BOM带来的麻烦
    linux 下tomcat开机自启动
    proxool连接池空闲连接中断问题解决
    java判断字符串是否为空的方法总结
    修改my.cnf ,使mysql 的表面不区分大小写
    csc a Wx.NET app.doc
    用Wiz作为灵格斯词典(Lingoes)的生词本
    单词
    使用OKHTTP方式发送POST请求,获取返回的JSON串
  • 原文地址:https://www.cnblogs.com/yaner2018/p/11571327.html
Copyright © 2011-2022 走看看