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 29 Python
python 从远程服务器下载日志文件的程序
Feb 10 Python
详解Python中time()方法的使用的教程
May 22 Python
Python随机数用法实例详解【基于random模块】
Apr 18 Python
Python HTTP客户端自定义Cookie实现实例
Apr 28 Python
PyQt5每天必学之工具提示功能
Apr 19 Python
python使用thrift教程的方法示例
Mar 21 Python
python 将有序数组转换为二叉树的方法
Mar 26 Python
python点击鼠标获取坐标(Graphics)
Aug 10 Python
Python脚本去除文件的只读性操作
Mar 05 Python
pytorch学习教程之自定义数据集
Nov 10 Python
Python的logging模块基本用法
Dec 24 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
无数据库的详细域名查询程序PHP版(5)
2006/10/09 PHP
Uchome1.2 1.5 代码学习 common.php
2009/04/24 PHP
PHP 编程安全性小结
2010/01/08 PHP
基于Linux调试工具strace与gdb的常用命令总结
2013/06/03 PHP
thinkphp文件处理类Dir.class.php的用法分析
2014/12/08 PHP
Laravel 使用查询构造器配合原生sql语句查询的例子
2019/10/12 PHP
基于jquery的给文章加入关键字链接
2010/10/26 Javascript
jQuery学习笔记之jQuery的动画
2010/12/22 Javascript
JSONP跨域的原理解析及其实现介绍
2014/03/22 Javascript
JQuery中绑定事件(bind())和移除事件(unbind())
2015/02/27 Javascript
深入探究AngularJS框架中Scope对象的超级教程
2016/01/04 Javascript
详解AngularJS如何实现跨域请求
2016/08/22 Javascript
jquery根据一个值来选中select下的option实例代码
2016/08/29 Javascript
微信小程序 轮播图swiper详解及实例(源码下载)
2017/01/11 Javascript
详解用webpack的CommonsChunkPlugin提取公共代码的3种方式
2017/11/09 Javascript
详解TypeScript+Vue 插件 vue-class-component的使用总结
2019/02/18 Javascript
vue 数据操作相关总结
2020/12/17 Vue.js
详解微信小程序轨迹回放实现及遇到的坑
2021/02/02 Javascript
[01:37]PWL S2开团时刻DAY1&2——这符有毒
2020/11/20 DOTA
[50:50]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第一场 12.20
2020/12/23 DOTA
浅谈Pandas:Series和DataFrame间的算术元素
2018/12/22 Python
python循环定时中断执行某一段程序的实例
2019/06/29 Python
Pytorch之卷积层的使用详解
2019/12/31 Python
tensorflow tf.train.batch之数据批量读取方式
2020/01/20 Python
python使用gdal对shp读取,新建和更新的实例
2020/03/10 Python
css3一款3D字体带阴影效果的实现步骤
2013/03/20 HTML / CSS
CSS3正方体旋转示例代码
2013/08/08 HTML / CSS
html5 利用重力感应实现摇一摇换颜色可用来做抽奖等等
2014/05/07 HTML / CSS
laravel使用redis队列实例讲解
2021/03/23 PHP
会计试用期自我评价
2014/09/19 职场文书
诚信承诺书
2015/01/19 职场文书
创业计划书之废品回收
2019/09/26 职场文书
golang 实现菜单树的生成方式
2021/04/28 Golang
MySQL数据库压缩版本安装与配置详细教程
2021/05/21 MySQL
低版本Druid连接池+MySQL驱动8.0导致线程阻塞、性能受限
2021/07/01 MySQL
CSS实现两列布局的N种方法
2021/08/02 HTML / CSS