Ce qui suit est un exemple pour l'obtenir sur ici.
ip.py
#!/usr/bin/env python
import requests
from HTMLParser import HTMLParser
import codecs
class MYHTMLParser(HTMLParser): #Remplacer la classe HTMLParser
def __init__(self): #Initialisation
HTMLParser.__init__(self)
self.mytag = ''
def handle_starttag(self,tag, attrs): #Handler appelé read au début de la balise
if tag == 'p': #Identification des étiquettes
if (dict(attrs).get('name')=="ip"): #Détermination des attributs
self.mytag = 'ip'
def handle_data(self,data): #Gestionnaire appelé lire les données
if self.mytag == 'ip': #Détermination des attributs
self.mytag = '' #Initialisez le drapeau ici
print 'IP='+data
with codecs.open('my_ip.txt','w','utf-8') as f:
f.write(data)
def ip_get(myurl): #Traitement principal
r = requests.get(myurl)
r.encoding = r.apparent_encoding #Je ne pouvais pas le traiter tel quel, alors je l'ai encodé.
with codecs.open('my_ip.html','w','utf-8') as f:
f.write(r.text)
f.flush() #Juste au cas où, je l'ai ajouté.
with codecs.open('my_ip.html','r','utf-8') as f:
parser = MYHTMLParser()
parser.feed(f.read())
parser.close()
if __name__ == '__main__':
ip_get("http://www.axisnetworks.biz/tools/gip/")
La page récupérée est enregistrée dans my_ip.html '', et l'adresse IP est enregistrée dans
my_ip.txt``.
Le processus d'encodage est un résultat douloureux. .. ..
Recommended Posts