67 lines
2.9 KiB
Python
67 lines
2.9 KiB
Python
# -*- coding: utf-8 -*-
|
||
import requests
|
||
import pdb
|
||
# Head = {"Accept": "application/json",
|
||
# "Authorization": "Bearer eyJrIjoiczVHc2lpWkw1a2Jsb0RxeXNKaEhPczQ3QzNtSUtRNHIiLCJuIjoibWlsZXMiLCJpZCI6MX0="}
|
||
# url = "http://grafana.kingsome.cn/d/oN5uGwEik/kingsomeren-shu-qu-xian?orgId=1&from=1572226084591&to=1572247684591"
|
||
|
||
import os, stat
|
||
import urllib.request
|
||
from datetime import datetime, date, time, timedelta
|
||
import time as Time
|
||
|
||
|
||
# 获取七日前0点与今日0点的时间戳
|
||
def last_seven_day():
|
||
midnight = datetime.combine(date.today(), time.min)
|
||
yesterday_mid = midnight - timedelta(days=7) # 想要此前几天的,就改这个参数
|
||
epoch = datetime.utcfromtimestamp(0)
|
||
midnight = midnight - timedelta(seconds=1)
|
||
midnight = int((midnight - epoch).total_seconds() * 1000.0)
|
||
yesterday_mid = int((yesterday_mid - epoch).total_seconds() * 1000.0)
|
||
return str(yesterday_mid), str(midnight)
|
||
|
||
|
||
# 下载指定的dashboard
|
||
def download_db():
|
||
# 组装url,跑代码之前现在浏览器试试
|
||
dbuid = "p5aRo00Wz"
|
||
# dbuid = "mI5F3QnWk"
|
||
grafana_server = "https://grafana-test.kingsome.cn"
|
||
# grafana_server = "http://grafana.kingsome.cn"
|
||
# url = f"""{grafana_server}/render/d/{dbuid}?from{last_seven_day()[0]}&to={last_seven_day()[
|
||
# 1]}&&var-datasource=xxx&width=1500&height=700&tz=UTC%2B08%3A00"""
|
||
url="http://grafana.kingsome.cn/render/d-solo/hzR9LcoZk/taptappai-ming-fen-xi?orgId=1&from=1572413361151&to=1572434961151&var-gameid=10056&var-date=All&var-catename=download&panelId=2&width=1000&height=1500&tz=Asia%2FShanghai"
|
||
# url="http://grafana.kingsome.cn/d/e2zRV1emk/shu-ju-yan-shi?orgId=1&from=1571715151698&to=1572319951698&var-name=All&var-date=All"
|
||
|
||
# header = {"Accept": "application/json", "Content-Type": "application/json",
|
||
# "Authorization": "Bearer eyJrIjoiczVHc2lpWkw1a2Jsb0RxeXNKaEhPczQ3QzNtSUtRNHIiLCJuIjoibWlsZXMiLCJpZCI6MX0="}
|
||
keys="eyJrIjoiczVHc2lpWkw1a2Jsb0RxeXNKaEhPczQ3QzNtSUtRNHIiLCJuIjoibWlsZXMiLCJpZCI6MX0="
|
||
#keys = "eyJrIjoiWGFFMXp4YTlaODFHUFpVQmxBcHVDWUZNSUFvb2doNDEiLCJuIjoidGVzdCIsImlkIjoyfQ=="
|
||
header = {"Accept": "application/json", "Content-Type": "application/json", "Authorization": f"Bearer {keys}"}
|
||
print(url)
|
||
request = urllib.request.Request(url, headers=header)
|
||
#pdb.set_trace()
|
||
try:
|
||
# 访问并下载面板图
|
||
response = urllib.request.urlopen(request)
|
||
time_now = int(Time.time())
|
||
time_local = Time.localtime(time_now)
|
||
dt = Time.strftime("%Y-%m-%d", time_local)
|
||
img_name = f"img{dt}.png"
|
||
|
||
filename = img_name
|
||
# print(response.getcode())
|
||
if (int(response.getcode()) == 200):
|
||
with open(filename, "wb") as f:
|
||
f.write(response.read())
|
||
return filename
|
||
else:
|
||
return "failed"
|
||
except:
|
||
return "failed"
|
||
|
||
|
||
if __name__ == "__main__":
|
||
download_db()
|