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下载指定页面上图片的方法
May 12 Python
numpy matrix和array的乘和加实例
Jun 28 Python
Python单元测试简单示例
Jul 03 Python
python中join()方法介绍
Oct 11 Python
pycharm 实现显示project 选项卡的方法
Jan 17 Python
python3实现指定目录下文件sha256及文件大小统计
Feb 25 Python
Django项目使用ckeditor详解(不使用admin)
Dec 17 Python
jupyter lab的目录调整及设置默认浏览器为chrome的方法
Apr 10 Python
Pycharm添加虚拟解释器报错问题解决方案
Oct 13 Python
python中的测试框架
Nov 13 Python
Ubuntu20下的Django安装的方法步骤
Jan 24 Python
Python中的pprint模块
Nov 27 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
MySQL中create table语句的基本语法是
2007/01/15 PHP
PHP 获取远程文件内容的函数代码
2010/03/24 PHP
php生成的html meta和link标记在body标签里 顶部有个空行
2010/05/18 PHP
PHP将进程作为守护进程的方法
2015/03/19 PHP
PHP排序算法之基数排序(Radix Sort)实例详解
2018/04/21 PHP
使用jquery给input和textarea设定ie中的focus
2008/05/29 Javascript
JS对URL字符串进行编码/解码分析
2008/10/25 Javascript
Javascript 面向对象(二)封装代码
2012/05/23 Javascript
使用jquery实现div的tab切换实例代码
2013/05/27 Javascript
jQuery实现企业网站横幅焦点图切换功能实例
2015/04/30 Javascript
详解angularjs 关于ui-router分层使用
2017/06/12 Javascript
node实现定时发送邮件的示例代码
2017/08/26 Javascript
Node.js中Koa2在控制台输出请求日志的方法示例
2019/05/02 Javascript
[02:30]DOTA2英雄基础教程 暗影恶魔
2013/12/17 DOTA
python处理中文编码和判断编码示例
2014/02/26 Python
Python的Django框架安装全攻略
2015/07/15 Python
python 多线程实现检测服务器在线情况
2015/11/25 Python
Python设计模式编程中Adapter适配器模式的使用实例
2016/03/02 Python
Python 实现淘宝秒杀的示例代码
2018/01/02 Python
python 读写excel文件操作示例【附源码下载】
2019/06/19 Python
Python 列表的清空方式
2020/01/13 Python
使用phonegap获取设备的一些信息方法
2017/03/31 HTML / CSS
Canvas实现保存图片到本地的示例代码
2018/06/28 HTML / CSS
面向对象概念面试题(.NET)
2016/11/04 面试题
业务主管岗位职责范本
2013/12/25 职场文书
酒店总经理欢迎词
2014/01/08 职场文书
火车的故事教学反思
2014/02/11 职场文书
小学家长评语大全
2014/04/16 职场文书
法人代表身份证明书及授权委托书
2014/09/16 职场文书
终止劳动合同证明书样本
2014/11/19 职场文书
劳模事迹材料范文
2014/12/24 职场文书
英文版辞职信
2015/02/28 职场文书
求职自我评价怎么写
2015/03/09 职场文书
2015年公司行政后勤工作总结
2015/05/20 职场文书
Redis遍历所有key的两个命令(KEYS 和 SCAN)
2021/04/12 Redis
Python中三种花式打印的示例详解
2022/03/19 Python