From 5f95a8db48d56b4b72783f01c39ff726fce70112 Mon Sep 17 00:00:00 2001 From: Nathan Higley Date: Fri, 14 Jan 2022 13:56:41 -0500 Subject: [PATCH] Able to scrape --- .gitignore | 1 + metrics.py | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 metrics.py diff --git a/.gitignore b/.gitignore index b6e4761..c85b28c 100644 --- a/.gitignore +++ b/.gitignore @@ -127,3 +127,4 @@ dmypy.json # Pyre type checker .pyre/ +.vscode/ diff --git a/metrics.py b/metrics.py new file mode 100644 index 0000000..ee7d796 --- /dev/null +++ b/metrics.py @@ -0,0 +1,36 @@ +import requests +import os +from dotenv import load_dotenv +from flask import Flask +app = Flask(__name__) + +def get_values(ip, user=None, password=None): + + url = 'http://' + ip + '/?m=1' + + session = requests.Session() + + if user and password: + session.auth = (user, password) + + page = session.get(url) + + values = {} + + string_values = str(page.text).split("{s}") + for i in range(1,len(string_values)-1): + label = string_values[i].split("{m}")[0] + value = string_values[i].split("{m}")[1].split("{e}")[0] + values[label] = value + + return values + +@app.route('/metrics') +def return_metrics(): + load_dotenv() + ip = os.getenv('DEVICE_IP') + user = os.getenv('USER') + password = os.getenv('PASSWORD') + + + return(get_values(ip, user, password))