Python手機(jī)號(hào)碼歸屬地查詢代碼
簡(jiǎn)單的一個(gè)例子,是以前用Dephi寫(xiě)的,前不久剛實(shí)現(xiàn)了一個(gè)在Python中使用Delphi控件來(lái)編寫(xiě)界面程序,于是趁熱寫(xiě)一個(gè)類(lèi)似的的查詢方案。
本實(shí)例是通過(guò)www.ip138.com這個(gè)網(wǎng)站來(lái)查詢的,這里需要的幾個(gè)知識(shí)點(diǎn),就是用Python模擬網(wǎng)頁(yè)提交數(shù)據(jù),獲得數(shù)據(jù)返回信息,以及對(duì)返回的Html信息進(jìn)行解析,模擬Http提交,Python自帶有一個(gè)urllib和urllib2這兩個(gè)庫(kù),相當(dāng)方便,只是奇怪,為什么不將兩個(gè)庫(kù)合并成一個(gè),這樣來(lái)的更方便。然后就是窗體了,窗體還是用我之前寫(xiě)的一個(gè)Python模塊DxVcl,就是可以在Python中調(diào)用Delphi界面控件的一個(gè)模塊庫(kù)。下面就貼上代碼,相當(dāng)簡(jiǎn)單的!
#-*-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 ='查詢手機(jī)歸屬地' self.Position =5 self.BorderStyle =3 self.Width =303 self.Height =375 self.lbl = Label(self) self.lbl.SetProps(Parent = self,Caption ='手機(jī)號(hào)碼') 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 ='查詢手機(jī)歸屬' f = MainForm(Application) f.Show() Application.Run() if__name__=='__main__': main()
運(yùn)行之后的界面
以上所述是小編給大家介紹的Python手機(jī)號(hào)碼歸屬地查詢代碼,希望對(duì)大家有所幫助!
相關(guān)文章
python生成xml時(shí)規(guī)定dtd實(shí)例方法
在本篇文章里小編給大家整理的是關(guān)于python生成xml時(shí)規(guī)定dtd實(shí)例方法,需要的朋友們學(xué)習(xí)參考下。2020-09-09編程小妙招:Python帶你玩轉(zhuǎn)Excel超鏈接
掌握Python實(shí)現(xiàn)Excel加超鏈接的技巧,讓你的數(shù)據(jù)報(bào)告活起來(lái),本指南將帶你輕松穿梭于單元格間,一行代碼搞定鏈接,別等了,跟我一起讓你的Excel工作表不僅聰明,還能“點(diǎn)”亮你的信息網(wǎng)絡(luò)!2023-12-12關(guān)于numpy強(qiáng)制類(lèi)型轉(zhuǎn)換的問(wèn)題
這篇文章主要介紹了關(guān)于numpy強(qiáng)制類(lèi)型轉(zhuǎn)換的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05用python爬取中國(guó)大學(xué)排名網(wǎng)站排名信息
大家好,本篇文章主要講的是用python爬取中國(guó)大學(xué)排名網(wǎng)站排名信息,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下2022-01-01python查找指定依賴包簡(jiǎn)介信息實(shí)現(xiàn)
這篇文章主要為大家介紹了python查找指定依賴包簡(jiǎn)介信息實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02python腳本爬取字體文件的實(shí)現(xiàn)方法
這篇文章主要給大家介紹了利用python腳本爬取字體文件的實(shí)現(xiàn)方法,文中分享了爬取兩個(gè)不同網(wǎng)站的示例代碼,相信對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-04-04