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模拟登陆Tom邮箱示例分享
Jan 13 Python
详解Python的Django框架中manage命令的使用与扩展
Apr 11 Python
python数据结构之链表的实例讲解
Jul 25 Python
pandas修改DataFrame列名的方法
Apr 08 Python
Django 使用logging打印日志的实例
Apr 28 Python
python获取交互式ssh shell的方法
Feb 14 Python
Pandas之Fillna填充缺失数据的方法
Jun 25 Python
详解pandas数据合并与重塑(pd.concat篇)
Jul 09 Python
numpy.meshgrid()理解(小结)
Aug 01 Python
详解python定时简单爬取网页新闻存入数据库并发送邮件
Nov 27 Python
python脚本定时发送邮件
Dec 22 Python
用Python爬取某乎手机APP数据
Jun 15 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中配置文件操作 如config.php文件的读取修改等操作
2012/07/07 PHP
php输出全球各个时区列表的方法
2015/03/31 PHP
PHP+mysql实现从数据库获取下拉树功能示例
2017/01/06 PHP
laravel ORM 只开启created_at的几种方法总结
2018/01/29 PHP
详细解读php的命名空间(二)
2018/02/21 PHP
php提供实现反射的方法和实例代码
2019/09/17 PHP
JavaScript 无符号右移赋值操作
2009/04/17 Javascript
Tab页界面 用jQuery及Ajax技术实现(php后台)
2011/10/12 Javascript
基于MVC3方式实现下拉列表联动(JQuery)
2013/09/02 Javascript
JS+CSS实现自动切换的网页滑动门菜单效果代码
2015/09/14 Javascript
JavaScript性能优化之小知识总结
2015/11/20 Javascript
JS获取数组最大值、最小值及长度的方法
2015/11/24 Javascript
bootstrap table复杂操作代码
2016/11/01 Javascript
微信小程序实现轮播图效果
2017/09/07 Javascript
详解Angular2学习笔记之Html属性绑定
2018/01/03 Javascript
微信小程序之多文件下载的简单封装示例
2018/01/29 Javascript
vuejs 制作背景淡入淡出切换动画的实例
2018/09/01 Javascript
移动端如何用下拉刷新的方式实现上拉加载
2018/12/10 Javascript
JavaScript对象的特性与实践应用深入详解
2018/12/30 Javascript
Python中给List添加元素的4种方法分享
2014/11/28 Python
Python利用splinter实现浏览器自动化操作方法
2018/05/11 Python
tensorflow实现图像的裁剪和填充方法
2018/07/27 Python
python登录WeChat 实现自动回复实例详解
2019/05/28 Python
python NumPy ndarray二维数组 按照行列求平均实例
2019/11/26 Python
python进程的状态、创建及使用方法详解
2019/12/06 Python
基于Python和PyYAML读取yaml配置文件数据
2020/01/13 Python
解决Pytorch自定义层出现多Variable共享内存错误问题
2020/06/28 Python
匡威英国官网:Converse英国
2018/12/02 全球购物
行政主管职责范本
2014/03/07 职场文书
岗位职责怎么写
2014/03/14 职场文书
银行职员自我鉴定
2014/04/20 职场文书
计算机专业自荐信
2014/05/24 职场文书
测量JavaScript函数的性能各种方式对比
2021/04/27 Javascript
Python编程中Python与GIL互斥锁关系作用分析
2021/09/15 Python
Ajax实现三级联动效果
2021/10/05 Javascript
5个实用的JavaScript新特性
2022/06/16 Javascript