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实现跨文件全局变量的方法
Jul 07 Python
python实现将内容分行输出
Nov 05 Python
多版本Python共存的配置方法
May 22 Python
利用python模拟实现POST请求提交图片的方法
Jul 25 Python
Python3 Random模块代码详解
Dec 04 Python
Python一个简单的通信程序(客户端 服务器)
Mar 06 Python
python计算波峰波谷值的方法(极值点)
Feb 18 Python
浅谈pymysql查询语句中带有in时传递参数的问题
Jun 05 Python
在Keras中利用np.random.shuffle()打乱数据集实例
Jun 15 Python
Python爬虫之App爬虫视频下载的实现
Dec 08 Python
python利用pytesseract 实现本地识别图片文字
Dec 14 Python
pyqt5蒙版遮罩mask,setmask的使用
Jun 11 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安全编程之加密功能
2006/10/09 PHP
PHP解析RSS的方法
2015/03/05 PHP
thinkPHP5.0框架安装教程
2017/03/25 PHP
万能的php分页类
2017/07/06 PHP
php实现网页上一页下一页翻页过程详解
2019/06/28 PHP
利用PHP计算有多少小于当前数字的数字方法示例
2020/08/26 PHP
js onclick事件传参讲解
2013/11/06 Javascript
JS判断字符串包含的方法
2015/05/05 Javascript
Bootstrap中的表单验证插件bootstrapValidator使用方法整理(推荐)
2016/06/21 Javascript
微信小程序 picker 组件详解及简单实例
2017/01/10 Javascript
BootStrap Validator 根据条件在JS中添加或移除校验操作
2017/10/12 Javascript
详解微信小程序input标签正则初体验
2018/08/18 Javascript
Vue 处理表单input单行文本框的实例代码
2019/05/09 Javascript
vue history 模式打包部署在域名的二级目录的配置指南
2019/07/02 Javascript
javascript事件循环event loop的简单模型解释与应用分析
2020/03/14 Javascript
JS async 函数的含义和用法实例总结
2020/04/08 Javascript
Vue 实现创建全局组件,并且使用Vue.use() 载入方式
2020/08/11 Javascript
为什么推荐使用JSX开发Vue3
2020/12/28 Vue.js
python 切片和range()用法说明
2013/03/24 Python
在树莓派2或树莓派B+上安装Python和OpenCV的教程
2015/03/30 Python
python中实现指定时间调用函数示例代码
2017/09/08 Python
Python实现学校管理系统
2018/01/11 Python
如何用python整理附件
2018/05/13 Python
使用PM2+nginx部署python项目的方法示例
2018/11/07 Python
对python中list的五种查找方法说明
2020/07/13 Python
AT&T Wireless:手机、无限数据计划和配件
2018/06/03 全球购物
如何写出高性能的JSP和Servlet
2013/01/22 面试题
自我鉴定范文300字
2013/10/01 职场文书
普通院校学生的自荐信
2013/11/27 职场文书
工作自我评价分享
2013/12/01 职场文书
幼儿园教师获奖感言
2014/03/11 职场文书
节能环保口号
2014/06/12 职场文书
父亲节活动总结
2015/02/12 职场文书
2015年教师工作总结范文
2015/03/31 职场文书
使用feign服务调用添加Header参数
2021/06/23 Java/Android
Windows7下FTP搭建图文教程
2022/08/05 Servers