码迷,mamicode.com
首页 > 移动开发 > 详细

调用API接口,查询手机号码归属地

时间:2019-07-21 01:12:33      阅读:406      评论:0      收藏:0      [点我收藏+]

标签:json   结果   def   page   __name__   api   append   asd   文件   

使用https://www.juhe.cn/提供的接口,查询归属地
在官网注册key即可使用。

代码如下

#!/usr/bin/python
# -*- coding: utf-8 -*-
import json, urllib, sys 
from urllib import urlencode, urlopen
reload(sys)
sys.setdefaultencoding('utf8')

#调用接口,获取结果为二维字典
def getPageCode(url, params):
    params = urlencode(params)
    f = urllib.urlopen(url, params)
    content = f.read()
    res = json.loads(content)
    if res["resultcode"] == "200":
        return res
    else:
        print('Error code: %s'%res["resultcode"])

#处理字典为单元组列表 
def dictDate(data):
    province = data["province"]
    city = data["city"]
    res.append((phoneNum, province, city))
    #print res
    return res

#追加保存文件
def writeResult(resultdata):
    f = open("location.log", "a")
    for num,item,cit in resultdata:
       f.write("%s\t" %num)
       f.write("%s," %item)
       f.write("%s" %cit)
       f.write("\n")
    f.close()

if __name__ == "__main__":
    url = "http://apis.juhe.cn/mobile/get"
    apiKey = "79aac02768158ebeb43c6asd2e2qdwew"
    for line in open("test.txt", "r"):
        #读取电话号码
        phoneNum = line.strip(" \t\r\n")
        params = {
            "phone": phoneNum,
            "key": apiKey,
            "dtype" : "json",
        }   
        res = []
        #调用getPageCode(API接口),通过函数dictDate处理为单元组列表;[('13676512732', u'\u6d52\u6c5f', u'\u6e19\u5dde')]
        resUlt = dictDate((getPageCode(url, params))["result"])
        writeResult(resUlt)

定义号码文本test.txt

15306525811
13567156311
13968170611
15306525811
13567156311
13968170611

调用API接口,查询手机号码归属地

标签:json   结果   def   page   __name__   api   append   asd   文件   

原文地址:https://www.cnblogs.com/outsrkem/p/11219743.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!