基于Python脚本和聚合数据实现手机号码归属地信息查询
聚合数据简介
聚合数据是一个为智能手机开发者,网站站长,移动设备开发人员及图商提供原始数据API服务的综合性云数据平台。包含手机聚合,网站聚合,LBS聚合三部分,其功能类似于Google APIS和百度的APIStore。
在学习Python爬虫的过程中,可以尝试使用免费的API来获取一些信息,可以作为一种学习。
(一)如何获取聚合数据?
- 在聚合数据官网注册账号
- 申请实名认证
- 申请使用数据
(二)如何使用聚合数据?
(1)查询AppKey值
在完成数据使用申请后,需要等待一定的时间,聚合数据后台才会风分发AppKey,只需这个AppKey,就可以对聚合数据进行访问和调用。
小编这里申请的是免费API—–手机号归属地查询。
AppKey = "0ea8e44e4612fb794c29f4979de48ef7"
(2)查询示例代码
基于Python的手机号码归属地接口调用代码实例。
示例地址:http://code.juhe.cn/docs/1018
基于Python2.x的调用代码如下:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import json, urllib
from urllib import urlencode#----------------------------------
# 手机号码归属地调用示例代码 - 聚合数据
# 在线接口文档:http://www.juhe.cn/docs/11
#----------------------------------def main():#配置您申请的APPKeyappkey = "*********************"#1.手机归属地查询request1(appkey,"GET")#手机归属地查询
def request1(appkey, m="GET"):url = "http://apis.juhe.cn/mobile/get"params = {"phone" : "", #需要查询的手机号码或手机号码前7位"key" : appkey, #应用APPKEY(应用详细页查询)"dtype" : "" #返回数据的格式,xml或json,默认json}params = urlencode(params)if m =="GET":f = urllib.urlopen("%s?%s" % (url, params))else:f = urllib.urlopen(url, params)content = f.read()res = json.loads(content)if res:error_code = res["error_code"]if error_code == 0:#成功请求print res["result"]else:print "%s:%s" % (res["error_code"],res["reason"])else:print "request api error"if __name__ == '__main__':main()
由于聚合数据网站只给出了Python2.x的示例调用代码,这里考虑到许多同学都在学习Python3.x(建议学习3.x版本),特贴出Python3.x的示例代码。其实也没有多大变化,只是urllib模块和print()的改变而已,不清楚的同学可以谷歌一下,了解一下urllib和print在Python2.x和Python3.x中的区别就明白了。
基于Python3.x的调用代码如下:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import json
import urllib.request
from urllib.parse import urlencode# ----------------------------------
# 手机号码归属地调用示例代码 - 聚合数据
# 在线接口文档:http://www.juhe.cn/docs/11
# ----------------------------------def main():# 配置您申请的APPKeyappkey = ""# 1.手机归属地查询request1(appkey, "GET")# 手机归属地查询
def request1(appkey, m="GET"):url = "http://apis.juhe.cn/mobile/get"params = {"phone": "", # 需要查询的手机号码或手机号码前7位"key": appkey, # 应用APPKEY(应用详细页查询)"bytes": "" # 返回数据的格式,xml或json,默认json}params = urlencode(params)if m == "GET":f = urllib.request.urlopen("%s?%s" % (url, params))else:f = urllib.request.urlopen(url, params)content = f.read().decode("utf-8")res = json.loads(content)if res:error_code = res["error_code"]if error_code == 0:# 成功请求print(res["result"])else:print("%s:%s" % (res["error_code"], res["reason"]))else:print("request api error")if __name__ == '__main__':main()
(3)正式调用
在主函数main()中配置已经申请好的AppKey
def main():# 配置您申请的APPKeyappkey = "0ea8e44e4612fb794c29f4979de48ef7"# 1.手机归属地查询request1(appkey, "GET")
配置 params(参数)
params = {"phone": "13855637789", # 需要查询的手机号码或手机号码前7位(此号码是我随机输入)"key": appkey, # 应用APPKEY(应用详细页查询)"bytes": "json" # 返回数据的格式,xml或json,默认json}
直接运行主程序main()
if __name__ == '__main__':main()
(4) 错误码参照
服务级错误码参照码(error_code):
错误码 | 说明 |
---|---|
201101 | 手机号不能为空 |
201102 | 错误的手机号 |
201103 | 查询无结果 |
系统级错误参照码:
错误码 | 说明 |
---|---|
10001 | 错误的请求KEY |
10002 | 该KEY无请求权限 |
10003 | KEY过期 |
10004 | 错误的OPENID |
10005 | 应用未审核超时,请提交认证 |
10006 | 未知的请求源 |
10007 | 未知的请求源 |
10008 | 被禁止的IP |
10009 | 被禁止的KEY |
10011 | 当前IP请求超过限制 |
10012 | 请求超过次数限制 |
10013 | 测试KEY超过请求限制 |
10014 | 系统内部异常 |
10020 | 接口维护 |
10021 | 接口停用 |
基于Python脚本和聚合数据实现手机号码归属地信息查询相关推荐
- vba手机号码归属_Android手机号码归属地的查询
一个简单的Demo,从聚合数据申请手机号码归属地数据接口: 在EditText中输入待查询号码,获取号码后在子线程中使用HttpUrlconnection获取JSON数据,之后进行解析: 数据获取完成 ...
- 【python】使用python脚本将LFW数据中1672组同一个人多张照片拷贝出来
使用python脚本将LFW数据中1672组同一个人多张照片拷贝出来 dataCleaning4multiple.py 源码如下: import os, random, shutil import s ...
- python从文件中读取数据_使用Python脚本从文件读取数据代码实例
这篇文章主要介绍了使用Python脚本从文件读取数据代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 最近自学Python的进度比较慢,工作之 ...
- python实现图的数据存储_Neo4j推出基于Python的嵌入式图数据存储
龙源期刊网 http://www.qikan.com.cn Neo4j 推出基于 Python 的嵌入式图数据存 储 作者:
- 毕业设计-基于Python爬虫的疫情数据可视化系统
基于Python爬虫的疫情数据可视化系统 采用ECharts+Flask+Requests架构: 源码加3105088663
- python脚本实现GNSS数据自动下载
python脚本实现GNSS数据自动下载 本文代码思路参考了博文[https://blog.csdn.net/weixin_39672353/article/details/1098525] 在此基础 ...
- 基于python将txt文件数据导出至excel中
本文是基于python处理包含大量数据的TXT文件前传,还有下篇哦. 用到的库有xlwt,只需要这个写入excel的库就行了,直接上代码: import xlwt def txt2xls(filena ...
- 基于Python的微博大数据舆情分析,舆论情感分析可视化系统
运行效果图 基于Python的微博大数据舆情分析,舆论情感分析可视化系统 系统介绍 微博舆情分析系统,项目后端分爬虫模块.数据分析模块.数据存储模块.业务逻辑模块组成. 先后进行了数据获取和筛选存储, ...
- 【计算机专业毕设之基于python的nba爬虫数据可视化分析系统】
[计算机专业毕设之基于python的nba爬虫数据可视化分析系统-哔哩哔哩https://b23.tv/BijZd9L 爬虫+Django+数据分析可视化
最新文章
- 【转载】通俗理解极大似然估计
- 线上分享 | 浅谈用户生命周期运营
- zookeeper设置临时节点失效时间_ZooKeeper 相关概念以及使用小结
- linux脚本登录启动失败,linux – 在X上运行shell脚本失败登录尝试
- python的变量如何理解_Python程序中变量作用范围应该如何理解?
- 一文纵览EMAS 到底内含多少阿里核心技术能力
- C# Collection was modified;enumeration operation may not execute
- 熊猫烧香病毒背后的***社会
- [转载] 20个常用Python库及200个第三方库
- 十天入门php,十天学会PHP之第十天
- Django Django文档
- C语言条件运算符(?:)的使用
- vlookup使用步骤_VLOOKUP函数的使用方法详解
- 《Python自然语言处理(第二版)-Steven Bird等》学习笔记:第01章 语言处理与Python
- Python&Opencv手势识别系统
- 此公众号并没有这些scope的权限 错误码10005
- Matlab软件绘制图像线颜色(RGB)参数设置
- 用 Golang 开发 Android 应用(五)—— Audio(openAL)使用
- shopnc二次开发(一)
- 干货分享|开源:献给世界的礼物