Python实现的手机号归属地相关信息查询功能示例


Posted in Python onJune 08, 2017

本文实例讲述了Python实现的手机号归属地相关信息查询功能。分享给大家供大家参考,具体如下:

根据指定的手机号码,查询其归属地等相关信息,Python实现:

手机号文件:test.txt

13693252552
13296629989
13640810839
15755106631
15119622732
13904446048
18874791953
13695658500
13695658547
15950179080
15573462779
15217624651
15018485989
13706522482
13666519777
13666515188
18857287528
15575394501

python实现:

# coding=UTF-8
# get provider information by phoneNumber
from urllib import urlopen
import re
# get html source code for url
def getPageCode(url):
  file = urlopen(url)
  text = file.read()
  file.close()
#  text = text.decode("utf-8")   # depending on coding of source code responded
  return text
# parse html source code to get provider information
def parseString(src, result):
  pat = []
  pat.append('(?<=归属地:</span>).+(?=<br />)')
  pat.append('(?<=卡类型:</span>).+(?=<br />)')
  pat.append('(?<=运营商:</span>).+(?=<br />)')
  pat.append('(?<=区号:</span>)\d+(?=<br />)')
  pat.append('(?<=邮编:</span>)\d+(?=<br />)')
  item = []
  for i in range(len(pat)):
    m = re.search(pat[i], src)
    if m:
      v = m.group(0)
      item.append(v)
  return item
# get provider by phoneNum
def getProvider(phoneNum, result):
  url = "http://www.sjgsd.com/n/?q=%s" %phoneNum
  text = getPageCode(url)
  item = parseString(text, result)
  result.append((phoneNum, item))
# write result to file
def writeResult(result):
  f = open("result.log", "w")
  for num, item in result:
    f.write("%s:\t" %num)
    for i in item:
      f.write("%s,\t" %i)
    f.write("\n")
  f.close()
if __name__ == "__main__":
  result = []
  for line in open("test.txt", "r"):
    phoneNum = line.strip(" \t\r\n")
    getProvider(phoneNum, result)
    print("%s is finished" %phoneNum)
  writeResult(result)

更多关于Python相关内容可查看本站专题:《Python Socket编程技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python实现的科学计算器功能示例
Aug 04 Python
Python实现将Excel转换为json的方法示例
Aug 05 Python
Python基于递归算法求最小公倍数和最大公约数示例
Jul 27 Python
Python使用combinations实现排列组合的方法
Nov 13 Python
详解python持久化文件读写
Apr 06 Python
Python搭建代理IP池实现检测IP的方法
Oct 27 Python
Python中xml和dict格式转换的示例代码
Nov 07 Python
Python3.x+pyqtgraph实现数据可视化教程
Mar 14 Python
使用darknet框架的imagenet数据分类预训练操作
Jul 07 Python
Scrapy项目实战之爬取某社区用户详情
Sep 17 Python
Python colormap库的安装和使用详情
Oct 06 Python
如何在Python中创建二叉树
Mar 30 Python
python用pickle模块实现“增删改查”的简易功能
Jun 07 #Python
Python3 socket同步通信简单示例
Jun 07 #Python
Python实现获取磁盘剩余空间的2种方法
Jun 07 #Python
Python2.7基于淘宝接口获取IP地址所在地理位置的方法【测试可用】
Jun 07 #Python
Python中音频处理库pydub的使用教程
Jun 07 #Python
python中defaultdict的用法详解
Jun 07 #Python
浅谈numpy中linspace的用法 (等差数列创建函数)
Jun 07 #Python
You might like
Linux+Nginx+MySQL下配置论坛程序Discuz的基本教程
2015/12/23 PHP
thinkPHP线上自动加载异常与修复方法实例分析
2016/12/01 PHP
PHP面向对象之事务脚本模式(详解)
2017/06/07 PHP
JavaScript与Div对层定位和移动获得坐标的实现代码
2010/09/08 Javascript
javascript学习(一)构建自己的JS库
2013/01/02 Javascript
JavaScript中的常见问题解决方法(乱码,IE缓存,代理)
2013/11/28 Javascript
js实现数组去重、判断数组以及对象中的内容是否相同
2013/11/29 Javascript
AngularJS中的模块详解
2015/01/29 Javascript
Javascript进制转换实例分析
2015/05/14 Javascript
JQuery的Pager分页器实现代码
2016/05/03 Javascript
浅谈bootstrap源码分析之tab(选项卡)
2016/06/06 Javascript
如何使用Vuex+Vue.js构建单页应用
2016/10/27 Javascript
js仿新浪微博消息发布功能
2017/02/17 Javascript
node.js 中间件express-session使用详解
2017/05/20 Javascript
Angular中自定义Debounce Click指令防止重复点击
2017/07/26 Javascript
Node.js  事件循环详解及实例
2017/08/06 Javascript
解决Layui中layer报错的问题
2019/09/03 Javascript
微信小程序利用for循环解决内容变更问题
2020/03/05 Javascript
JS数组Reduce方法功能与用法实例详解
2020/04/29 Javascript
JS highcharts实现动态曲线代码示例
2020/10/16 Javascript
python使用ctypes模块调用windowsapi获取系统版本示例
2014/04/17 Python
分享一下如何编写高效且优雅的 Python 代码
2017/09/07 Python
使用python 打开文件并做匹配处理的实例
2019/01/02 Python
python tkinter canvas 显示图片的示例
2019/06/13 Python
python实现生成Word、docx文件的方法分析
2019/08/30 Python
python matplotlib包图像配色方案分享
2020/03/14 Python
利用Python的folium包绘制城市道路图的实现示例
2020/08/24 Python
CSS3+HTML5+JS 实现一个块的收缩与展开动画效果
2020/11/17 HTML / CSS
美国在线奢侈品寄售商店:Luxury Garage Sale
2018/08/19 全球购物
KENZO官网:高田贤三在法国创立的品牌
2019/05/16 全球购物
银行自荐信范文
2013/10/07 职场文书
函授大学生自我鉴定
2014/02/05 职场文书
学校地质灾害防治方案
2014/06/10 职场文书
开展创先争优活动总结
2014/08/28 职场文书
暑假生活随笔
2015/08/15 职场文书
Go并发4种方法简明讲解
2022/04/06 Golang