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正则表达式判断字符串是否是全部小写示例
Dec 25 Python
在Python的Django框架中编写编译函数
Jul 20 Python
Python使用文件锁实现进程间同步功能【基于fcntl模块】
Oct 16 Python
Python探索之修改Python搜索路径
Oct 25 Python
用python处理图片实现图像中的像素访问
May 04 Python
python使用selenium登录QQ邮箱(附带滑动解锁)
Jan 23 Python
Python中的引用知识点总结
May 20 Python
Python中Numpy mat的使用详解
May 24 Python
使用python socket分发大文件的实现方法
Jul 08 Python
Python操作excel的方法总结(xlrd、xlwt、openpyxl)
Sep 02 Python
Python实现Appium端口检测与释放的实现
Dec 31 Python
python数据库批量插入数据的实现(executemany的使用)
Apr 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
比较好用的PHP防注入漏洞过滤函数代码
2012/04/11 PHP
Laravel中validation验证 返回中文提示 全局设置的方法
2019/09/29 PHP
数理公式,也可以这么唯美
2021/03/10 无线电
javascript中的__defineGetter__和__defineSetter__介绍
2014/08/15 Javascript
javascript禁止访客复制网页内容的实现代码
2015/08/05 Javascript
JS实现跟随鼠标的链接文字提示框效果
2015/08/06 Javascript
浅谈JavaScript的内置对象和浏览器对象
2016/06/03 Javascript
vue多个元素的样式选择器问题
2019/11/29 Javascript
使用Python的Treq on Twisted来进行HTTP压力测试
2015/04/16 Python
Python字符串特性及常用字符串方法的简单笔记
2016/01/04 Python
利用Python暴力破解zip文件口令的方法详解
2017/12/21 Python
网红编程语言Python将纳入高考你怎么看?
2018/06/07 Python
带你认识Django
2019/01/15 Python
python中的global关键字的使用方法
2019/08/20 Python
Python Django模板之模板过滤器与自定义模板过滤器示例
2019/10/18 Python
Python requests设置代理的方法步骤
2020/02/23 Python
python 使用raw socket进行TCP SYN扫描实例
2020/05/05 Python
vscode写python时的代码错误提醒和自动格式化的方法
2020/05/07 Python
详解python tkinter 图片插入问题
2020/09/03 Python
CSS3下的渐变文字效果实现示例
2018/03/02 HTML / CSS
HTML5中的Article和Section元素认识及使用
2013/03/22 HTML / CSS
澳大利亚电子产品购物网站:Dick Smith
2017/02/02 全球购物
Lookfantastic西班牙官网:英国知名美妆购物网站
2018/06/13 全球购物
经济信息管理专业大学生求职信
2013/09/27 职场文书
班组长安全职责
2014/01/05 职场文书
护士在校生自荐信
2014/02/01 职场文书
应聘文员自荐信范文
2014/03/11 职场文书
大学新闻系自荐书
2014/05/31 职场文书
社区综治工作汇报
2014/10/27 职场文书
租车协议书
2015/01/27 职场文书
付款证明模板
2015/06/19 职场文书
2019年英语版感谢信(8篇)
2019/09/29 职场文书
MyBatis-Plus 批量插入数据的操作方法
2021/09/25 Java/Android
Java spring定时任务详解
2021/10/05 Java/Android
利用Python实现翻译HTML中的文本字符串
2022/06/21 Python
前端传参数进行Mybatis调用mysql存储过程执行返回值详解
2022/08/14 MySQL