Maison > Article > développement back-end > Exemple de code de requête d'emplacement de numéro de téléphone mobile Python
Un exemple simple a déjà été écrit en Dephi. Il n'y a pas si longtemps, je viens d'implémenter un programme d'interface utilisant des contrôles Delphi en Python, j'ai donc écrit un plan de requête similaire pendant qu'il était chaud.
Cet exemple est interrogé via le site Web www.ip138.com. Les quelques points de connaissances nécessaires ici sont d'utiliser Python pour simuler les données de soumission de pages Web, d'obtenir des informations de retour de données et de renvoyer du HTML pour analyser le informations et simuler la soumission HTTP, Python est livré avec deux bibliothèques, urllib et urllib2, qui sont assez pratiques. Je suis juste curieux, pourquoi ne pas fusionner les deux bibliothèques en une seule, ce qui est plus pratique. Ensuite, il y a le formulaire. Le formulaire utilise toujours un module Python DxVcl que j'ai écrit auparavant, qui est une bibliothèque de modules qui peut appeler des contrôles d'interface Delphi en Python. Collez le code ci-dessous, c'est assez simple !
#-*-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()
L'interface après avoir exécuté
Ce qui précède est le L'éditeur vous présente le code de requête de localisation du numéro de téléphone mobile Python. J'espère qu'il vous sera utile !
Pour plus d'articles sur les exemples de code de requête de localisation de numéro de téléphone mobile Python, veuillez faire attention au site Web PHP chinois !