[PYTHON] Obtenez une adresse IP globale et exportez-la vers des feuilles de calcul Google

Aperçu

J'ai créé un script python qui écrit périodiquement l'adresse IP globale pour la connexion ssh à Raspberry pi sur Google Spreadsheet.

Préparation préalable

Création de config.ini

Collectez les informations suivantes dans config.ini.

--Compte google

config.ini


[google]
username = ****
password = ****
spreadsheet_key = *****(ID de la feuille de calcul)

L'ID de la feuille de calcul correspond à la partie *****.

https://docs.google.com/spreadsheets/d/*******/edit#gid=0

Installation des bibliothèques requises

Utilisez gdata.

sudo apt-get install python-gdata

Créez votre propre cours pour gérer les feuilles de calcul Google

J'ai créé une classe qui peut être mise à jour en donnant l'adresse IP et la position (ligne, colonne). --Exporter l'adresse IP --Ligne --Colonne

La première feuille (od6) est sélectionnée par défaut.

Référence: http://qiita.com/debiru/items/27a48dfb3b1c010cd478

mySpreadsheet.py


import gdata.spreadsheets.client
import gdata.spreadsheet.service
import ConfigParser

class mySpreadsheet:

  user = ''
  passwd = ''
  key = ''
  sheet_id= ''

  def __init__(self,config):
    inifile = ConfigParser.SafeConfigParser()
    inifile.read(config)
    self.user = unicode(inifile.get("google","username"))
    self.passwd = unicode(inifile.get("google","password"))
    self.key = unicode(inifile.get("google","spreadsheet_key"))
    self.sheet_id = 'od6'

  def updateCell(self,value,row,col):
    client = gdata.spreadsheet.service.SpreadsheetsService(self.user,self.passwd)
    client.ProgrammaticLogin()
    cell = client.UpdateCell(inputValue = value,
                             row = row, col = col,
                             key = self.key,
                             wksht_id = self.sheet_id)

if __name__ == "__main__":
  m = mySpreadsheet('config.ini')
  m.updateCell('hoge',1,1)

De l'obtention d'une adresse IP à la mise à jour vers une feuille de calcul Google

Si vous lisez la classe ci-dessus et passez l'adresse IP, c'est OK

updateip.py


import json
from urllib2 import urlopen
from mySpreadsheet import *

m = mySpreadsheet('config.ini')
ip = json.load(urlopen('http://httpbin.org/ip'))['origin']
m.updateCell(ip,1,2)
print ip

Recommended Posts

Obtenez une adresse IP globale et exportez-la vers des feuilles de calcul Google
Pour obtenir une adresse IP locale par programme
Récupérer une image d'une page Web et la redimensionner
[Google Colab] Comment interrompre l'apprentissage, puis le reprendre
Obtenez la page Web Python, encodez et affichez les caractères
Obtenez de manière récursive la liste Excel dans un dossier spécifique avec python et écrivez-la dans Excel.
Il est étonnamment difficile d'obtenir une liste de la dernière date et heure de connexion des espaces de travail
Un mémorandum lors de l'acquisition automatique avec du sélénium
Obtenez des conversions et des revenus avec l'API Google Analytics et faites un rapport à Slack
Je veux créer un fichier pip et le refléter dans le menu fixe
Exporter la norme Google Analytics vers BigQuery
Sélénium et python pour ouvrir Google
Python - Obtenez le taux de bitcoin BTC / JPY à partir de bitflyer à intervalles réguliers et enregistrez-le dans un fichier
Comment obtenir un nom de colonne et un nom d'index spécifiques avec Pandas DataFrame
Jusqu'à ce que vous obteniez un instantané du service Amazon Elasticsearch et que vous le restauriez
Recevez des tweets avec la fonction Google Cloud et enregistrez automatiquement les images dans Google Photos
[Mémo personnel] Obtenez des données sur le Web et faites-en un DataFrame
Comment rendre le nom du conteneur accessible dans Docker en tant que sous-domaine
Démarrez la webcam, prenez une image fixe et enregistrez-la localement
J'ai créé un système qui décide automatiquement de s'exécuter demain avec Python et l'ajoute à Google Agenda.
Comment diviser et enregistrer un DataFrame
Comment obtenir stacktrace en python
Lire Python csv et exporter vers txt
Apprentissage amélioré 35 python Développement local, attachez un lien vers myModule et importez-le.
[Introduction à Pandas] Lire un fichier csv sans nom de colonne et lui donner un nom de colonne
Essayez d'obtenir une page Web et un fichier JSON en utilisant la bibliothèque Requests de Python
J'ai créé un outil pour informer Slack des événements Connpass et en ai fait Terraform
Je veux déposer un fichier sur tkinter et obtenir son chemin [Tkinter DnD2]
Je veux écrire un élément dans un fichier avec numpy et le vérifier.
[Python] Combiner des listes contenant des nombres en chaînes et les écrire dans un fichier de sortie
Comment lire les fichiers de numéros de série en boucle, les traiter et les représenter graphiquement
Outil pour insérer le nom du pays et le code du pays dans une partie de l'adresse IP
Notez que j'étais accro à la configuration de TensowFlow