Enregistrez une adresse IP globale avec python

Une petite explication

code

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

Enregistrez une adresse IP globale avec python
FizzBuzz en Python3
Grattage avec Python
Statistiques avec python
Grattage avec Python
Python avec Go
Twilio avec Python
Intégrer avec Python
Jouez avec 2016-Python
AES256 avec python
Testé avec Python
python commence par ()
avec syntaxe (Python)
Bingo avec python
Enregistrer avec Python → Enregistrer le fichier (périphérique sonore + wave)
Zundokokiyoshi avec python
Excel avec Python
Micro-ordinateur avec Python
Cast avec python
Communication série avec Python
Zip, décompressez avec python
Django 1.11 a démarré avec Python3.6
Jugement des nombres premiers avec Python
Python avec eclipse + PyDev.
Communication de socket avec Python
Analyse de données avec python 2
Overthrow, Déclaration globale Python
Grattage en Python (préparation)
Essayez de gratter avec Python.
Apprendre Python avec ChemTHEATER 03
Recherche séquentielle avec Python
"Orienté objet" appris avec python
Exécutez Python avec VBA
Manipuler yaml avec python
Résolvez AtCoder 167 avec python
[Python] Utiliser JSON avec Python
Apprendre Python avec ChemTHEATER 05-1
Apprenez Python avec ChemTHEATER
Exécutez prepDE.py avec python3
1.1 Premiers pas avec Python
Collecter des tweets avec Python
Binarisation avec OpenCV / Python
3. 3. Programmation IA avec Python
Méthode Kernel avec Python
Non bloquant avec Python + uWSGI
Grattage avec Python + PhantomJS
Publier des tweets avec python
Conduisez WebDriver avec python
Utiliser mecab avec Python 3
[Python] Redirection avec CGIHTTPServer
Analyse vocale par python
Pensez à yaml avec python
Utiliser Kinesis avec Python
Premiers pas avec Python
Utiliser DynamoDB avec Python
Getter Zundko avec python
Gérez Excel avec python
Loi d'Ohm avec Python
Jugement des nombres premiers avec python
Exécutez Blender avec python
Résoudre des maths avec Python