python编写手机归属地查询程序
目的
本文编写一个基于Python的命令汗程序来认识一下API Store
API Store
API Store是百度的一个网站。利用这个网站,开发者可以方便的调用众多类型的api函数来编写程序。例如,查询手机归属地的API由一个厂家提供,查询各个城市天气信息的API由另一个厂家提供,等。开发者可以仅通过API Store这个网站就可以使用这些函数。
使用步骤
进入API Store网站-->登陆-->绑定手机号-->取得apikey(事后可以在个人中心中查看apikey的值)
-->在首页搜索框中搜索“归属地”
apikey在编程时回用到。apikey简称API接口验证序号,用于验证API接入合法性,是为每一个用户访问API的授权方式和凭证,每个apikey唯一标识一个API使用者
程序
这是网站上提供的调用示例
# -- coding: utf-8 --
import sys, urllib, urllib2, json
url = 'http://apis.baidu.com/chazhao/mobilesearch/phonesearch?phone=13588888888'
req = urllib2.Request(url)
req.add_header("apikey", "您自己的apikey")
resp = urllib2.urlopen(req)
content = resp.read()
if(content):
print(content)
我们稍微改复杂一些
# -- coding: utf-8 --
import sys, urllib, urllib2, json
url = 'http://apis.baidu.com/apistore/mobilenumber/mobilenumber?phone='
number = raw_input("Enter your telephone number: ")
url += number
req = urllib2.Request(url)
req.add_header("apikey","您自己的apikey")
resp = urllib2.urlopen(req)
content = resp.read()
if(content):
print(content)
print ("---------------------------------")
result = json.loads(content)
err = result['errNum']
if(err == -1):
print("there is an error")
else:
pro = result['retData']['province']
cit = result['retData']['city']
print "the number you want to search %s", number
print "provice: ", pro
print "city: ", cit
运行
![picture2.png](https://img.haomeiwen.com/i2745695/dde768a2b166a050.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240);icture3.png
{ "errNum":0,
"retMsg":"success",
"retData":
{ "phone":"13211111111",
"prefix":"1321111",
"supplier":"\u8054\u901a",
"province":"\u5e7f\u4e1c",
"city":"\u6e05\u8fdc",
"suit":"132\u5361"
}
}