用Python查询手机号码归属地

简介:

   简单的一个例子,是以前用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()

复制代码

运行之后的界面

2011040714160543.png



本文转自 不得闲 博客园博客,原文链接: http://www.cnblogs.com/DxSoft/archive/2011/04/07/2007871.html  ,如需转载请自行联系原作者

相关文章
|
2天前
|
Python
如何查询Python包的所有历史版本
如何查询Python包的所有历史版本
13 5
|
9天前
|
前端开发 数据库 Python
Python Django项目下的分页和筛选查询
在Django中实现分页功能,视图函数通过`Paginator`处理数据,每页显示10条记录。URL配置支持带参数和不带参数的分页请求。前端模板使用for循环展示分页数据,包括商品信息和状态按钮,并利用分页组件导航。筛选查询视图根据GET请求的`state`参数过滤上架或下架产品,同样实现分页功能。前端添加状态选择下拉框,分页链接携带查询参数`state`确保筛选状态在翻页时保持。
|
17天前
|
SQL 关系型数据库 数据库
Python查询PostgreSQL数据库
木头左教你如何用Python连接PostgreSQL数据库:安装`psycopg2`库,建立连接,执行SQL脚本如创建表、插入数据,同时掌握错误处理和事务管理。别忘了性能优化,利用索引、批量操作提升效率。下期更精彩!💡 csvfile
Python查询PostgreSQL数据库
|
17天前
|
SQL 关系型数据库 数据库
Python执行PostgreSQL数据库查询语句,并打印查询结果
本文介绍了如何使用Python连接和查询PostgreSQL数据库。首先,确保安装了`psycopg2`库,然后创建数据库连接函数。接着,展示如何编写SQL查询并执行,例如从`employees`表中选取所有记录。此外,还讨论了处理查询结果、格式化输出和异常处理的方法。最后,提到了参数化查询和事务处理以增强安全性及确保数据一致性。
Python执行PostgreSQL数据库查询语句,并打印查询结果
|
17天前
|
关系型数据库 数据库连接 数据库
Python执行PG数据库查询语句:以Markdown格式打印查询结果
使用Python的`psycopg2`和`pandas`库与PostgreSQL交互,执行查询并以Markdown格式打印结果。首先确保安装所需库:`pip install psycopg2 pandas`。接着建立数据库连接,执行查询,将查询结果转换为DataFrame,再用`tabulate`库将DataFrame格式化为Markdown。代码示例包括连接函数、查询函数、转换和打印函数。最后限制列宽以适应输出。
分享:2秒快速查询40万手机号码归属地,批量手机号码归属地查询可以导出excel表格,WPS表格查询手机号码归属地怎么操作,批量手机号码归属地批量查询软件,批量号码查询按省份和城市分类,按运移动号码电信号码联通号码分类整理
本文介绍了如何批量快速查询手机号码归属地并进行分类。首先,通过提供的百度网盘或腾讯云盘链接下载免费查询软件。其次,开启软件,启用复制粘贴功能,直接粘贴号码列表并选择高速查询。软件能在极短时间内(如1.76秒内)完成40多万个号码的查询,结果包括归属地、运营商、邮箱和区号,且数据准确。之后,可直接导出数据至表格,若数据超过100万,可按省份、城市及运营商分类导出。文章还附带了操作动画演示,展示全程流畅的处理大量手机号码归属地查询的过程。
分享:2秒快速查询40万手机号码归属地,批量手机号码归属地查询可以导出excel表格,WPS表格查询手机号码归属地怎么操作,批量手机号码归属地批量查询软件,批量号码查询按省份和城市分类,按运移动号码电信号码联通号码分类整理
|
1月前
|
数据采集 JSON 数据挖掘
2024年利用Python查询IP地址_怎么查python文件中ip地址,2024年最新15个经典面试问题及答案英语
2024年利用Python查询IP地址_怎么查python文件中ip地址,2024年最新15个经典面试问题及答案英语
|
1月前
|
Python
【Python3 查询手册学习】,完整版PDF开放下载_python速查手册·模块卷(全彩版) pdf(1)
【Python3 查询手册学习】,完整版PDF开放下载_python速查手册·模块卷(全彩版) pdf(1)
|
1月前
|
JSON 数据格式 索引
python之JMESPath:JSON 查询语法库示例详解
python之JMESPath:JSON 查询语法库示例详解
23 0
|
1月前
|
开发者 Python
在Python中查询进程信息的实用指南
在Python中查询进程信息的实用指南
23 2