Python手机号码归属地查询代码


Posted in Python onMay 04, 2016

简单的一个例子,是以前用Dephi写的,前不久刚实现了一个在Python中使用Delphi控件来编写界面程序,于是趁热写一个类似的的查询方案。

本实例是通过www.ip138.com这个网站来查询的,这里需要的几个知识点,就是用Python模拟网页提交数据,获得数据返回信息,以及对返回的Html信息进行解析,模拟Http提交,Python自带有一个urllib和urllib2这两个库,相当方便,只是奇怪,为什么不将两个库合并成一个,这样来的更方便。然后就是窗体了,窗体还是用我之前写的一个Python模块DxVcl,就是可以在Python中调用Delphi界面控件的一个模块库。下面就贴上代码,相当简单的!

#-*-coding: gb2312 -*-
import urllib,urllib2,HTMLParser
from DxVcl import*
class MyParser(HTMLParser.HTMLParser):
def reset(self):
self._isInTd = False 
self._retdata = []
HTMLParser.HTMLParser.reset(self)
def handle_starttag(self,tag,attris):
self._isInTd = tag =='td'
def handle_endtag(self,tag):
if self._isInTd:
self._isInTd = False
def handle_data(self,data):
if self._isInTd:
self._retdata.append(data)
class MainForm(Form):
def__init__(self,Owner):
self.Caption ='查询手机归属地'
self.Position =5
self.BorderStyle =3
self.Width =303
self.Height =375
self.lbl = Label(self)
self.lbl.SetProps(Parent = self,Caption ='手机号码')
self.lbl.SetBounds(16,8,60,13)
self.EdtPhone = Edit(self)
self.EdtPhone.SetProps(Parent = self,Text ='')
self.EdtPhone.SetBounds(77,3,121,21)
self.Button1 = Button(self)
self.Button1.SetProps(Parent = self,Caption ='查询')
self.Button1.SetBounds(204,1,75,25)
self.Button1.OnClick = self.Button1Click
self.Memo1 = Memo(self)
self.Memo1.Parent = self
self.Memo1.SetBounds(16,32,263,297) 
def Button1Click(self,Sender):
postdata = urllib.urlencode([('action','mobile'),('mobile',self.EdtPhone.Text)])
req = urllib2.Request('http://www.ip138.com:8080/search.asp')
fd = urllib2.urlopen(req,postdata)
h = fd.read()
my = MyParser()
my.feed(h)
self.Memo1.Lines.Clear()
for data in my._retdata:
self.Memo1.Lines.Add(data)
def main():
FreeConsole()
Application.Initialize()
Application.Title ='查询手机归属'
f = MainForm(Application)
f.Show()
Application.Run()
if__name__=='__main__':
main()

运行之后的界面

Python手机号码归属地查询代码

以上所述是小编给大家介绍的Python手机号码归属地查询代码,希望对大家有所帮助!

Python 相关文章推荐
新手该如何学python怎么学好python?
Oct 07 Python
Python Property属性的2种用法
Jun 21 Python
python+selenium实现京东自动登录及秒杀功能
Nov 18 Python
Python实现的生产者、消费者问题完整实例
May 30 Python
python实现决策树分类(2)
Aug 30 Python
用python标准库difflib比较两份文件的异同详解
Nov 16 Python
Python实现的爬取百度文库功能示例
Feb 16 Python
Python编程实现tail-n查看日志文件的方法
Jul 08 Python
Python3的高阶函数map,reduce,filter的示例详解
Jul 23 Python
python pprint模块中print()和pprint()两者的区别
Feb 10 Python
python 实现百度网盘非会员上传超过500个文件的方法
Jan 07 Python
图文讲解选择排序算法的原理及在Python中的实现
May 04 #Python
浅谈插入排序算法在Python程序中的实现及简单改进
May 04 #Python
Python中使用插入排序算法的简单分析与代码示例
May 04 #Python
Python中函数参数设置及使用的学习笔记
May 03 #Python
解析Mac OS下部署Pyhton的Django框架项目的过程
May 03 #Python
Python使用urllib2模块抓取HTML页面资源的实例分享
May 03 #Python
Python中字符串的格式化方法小结
May 03 #Python
You might like
php 判断数组是几维数组
2013/03/20 PHP
PHP排序二叉树基本功能实现方法示例
2018/05/26 PHP
PHP7导出Excel报ERR_EMPTY_RESPONSE解决方法
2019/04/16 PHP
php扩展开发入门demo示例
2019/09/23 PHP
Javascript - HTML的request类
2007/01/09 Javascript
用js实现的抽象CSS圆角效果!!
2007/05/03 Javascript
jQuery 核心函数以及jQuery对象
2010/03/23 Javascript
Jquery 点击按钮显示和隐藏层的代码
2011/07/25 Javascript
再谈querySelector和querySelectorAll的区别与联系
2012/04/20 Javascript
Javascript writable特性介绍
2015/02/27 Javascript
JS实现两表格里数据来回转移的方法
2015/05/28 Javascript
JavaScript通过Date-Mask将日期转换成字符串的方法
2015/06/04 Javascript
jQuery实现带水平滑杆的焦点图动画插件
2016/03/08 Javascript
Javascript中的arguments对象
2016/06/20 Javascript
JQuery页面随滚动条动态加载效果的简单实现(推荐)
2017/02/08 Javascript
[03:52]DOTA2英雄基础教程 酒仙
2013/12/23 DOTA
Python读取mp3中ID3信息的方法
2015/03/05 Python
[原创]使用豆瓣提供的国内pypi源
2017/07/02 Python
Python3 循环语句(for、while、break、range等)
2017/11/20 Python
Python 互换字典的键值对实例
2019/02/12 Python
Django处理多用户类型的方法介绍
2019/05/18 Python
python3实现斐波那契数列(4种方法)
2019/07/15 Python
Python xlwt模块使用代码实例
2020/06/10 Python
AmazeUI 加载进度条的实现示例
2020/08/20 HTML / CSS
Bata印度官网:源自欧洲舒适鞋履品牌
2020/01/30 全球购物
巴西Bo.Bô官方在线商店:经营奢侈品时尚业务
2020/03/16 全球购物
莫斯科制造商的廉价皮大衣:Fursk
2020/06/09 全球购物
介绍一些UNIX常用简单命令
2014/11/11 面试题
应用艺术毕业生的自我评价
2013/12/04 职场文书
水毁工程实施方案
2014/04/01 职场文书
银行竞聘报告范文
2014/11/06 职场文书
幼儿园老师新年寄语2015
2014/12/08 职场文书
新员工辞职信范文
2015/05/12 职场文书
《迟到》教学反思
2016/02/24 职场文书
JVM入门之类加载与字节码技术(类加载与类的加载器)
2021/06/15 Java/Android
Apache Hudi 加速传统的批处理模式
2022/04/24 Servers