python脚本采集服务器数据通过API提交到django web服务器,然后展示在页面上

简介:

采集服务器的信息的python程序

#coding:utf-8

import psutil

import urllib

import urllib.request

import urllib.parse

#import urllib2

import requests


#获取数据

cpuData = psutil.cpu_times()

#处理数据

cpuMax = cpuData.user+cpuData.system+cpuData.idle

cpuUsed = cpuData.user+cpuData.system

cpuUse = cpuUsed/cpuMax


#将数据进行打包

data = {"cpuUsed":cpuUse}

#sendData = urllib.parse.urlencode(data)

#sendData = sendData.encode('utf-8')

url = "http://192.168.52.129:8000/api/savecpu/"

#定义请求头部

header = {

        "User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36",

    }


#定义请求

res =requests.post(url,data = data)

#req = urllib.request.Request(url,data = sendData,headers = header,method = 'POST')

#添加Header

#req.add_header(headers = header)

#发送请求

#ope = urllib.request.urlopen(req)

#打印结果

print(res.content.decode())

#print(ope.read())



django创建项目,创建app,我这里创建了一个api的应用

api的urls.py文件配置信息


from django.conf.urls import url

from . import views


urlpatterns = [

     url(r'^index/$', views.index,name='index'),

     # url(r'^getinfo/$',views.getinfo,name='getinfo'),

     url(r"^savecpu/$", views.saveCpu,name='saveCpu'),

     url(r"^showcpu/$", views.show,name='showcpu'),


]



视图文件

定义了2个函数


def saveCpu(request):

    """

        这个方法就是我们的接口方法,

        当被请求时会将请求上来的数据存入数据库

    """

    statue = {}

    if request.method == "POST" and request.POST: #检测请求的方式是post,并且post请求有数据

        #request.POST 这个方法以字典的形式存放着当前post请求的所有数据

        cpuUsed = request.POST["cpuUsed"] #使用类字典的取值方式取出传递上来的cpu使用率

        times = datetime.datetime.now() #获取当前时间

        cpuDatabase = SaveCpu() #实例化一个SaveCpu的模型实例

        cpuDatabase.used = cpuUsed #将数据赋值给模型

        cpuDatabase.time = times #同上

        cpuDatabase.save() #将模型映射到数据库

        statue["statue"] = "success" #定义当前接口状态为保存成功

    else:

        statue["statue"] = "request method must be post" #定义当前接口状态为失败

    return JsonResponse(statue) #将接口状态返回给请求者


def show(request):

    cpu = SaveCpu.objects.all()

    return render(request,"api/showData.html",locals())

# Create your views here.


agent 端(python程序)不断的采集到本机服务器的信息,通过api把数据传递给WEB服务器端(django),web server端接收到接口传过来的数据,把传递过来的数据按照格式存入数据库保存数据,从数据库中提取数据,前端页面展示数据


大概一个简单的server -》agent端就是这样的



本文转自 xxl714 51CTO博客,原文链接:http://blog.51cto.com/dreamgirl1314/2044918,如需转载请自行联系原作者

相关文章
|
1月前
|
数据采集 数据可视化 大数据
Python入门修炼:开启你在大数据世界的第一个脚本
Python入门修炼:开启你在大数据世界的第一个脚本
77 6
|
2月前
|
SQL Oracle 关系型数据库
【YashanDB知识库】共享利用Python脚本解决Oracle的SQL脚本@@用法
【YashanDB知识库】共享利用Python脚本解决Oracle的SQL脚本@@用法
|
2月前
|
SQL Oracle 关系型数据库
【YashanDB知识库】共享利用Python脚本解决Oracle的SQL脚本@@用法
本文来自YashanDB官网,介绍如何处理Oracle客户端sql*plus中使用@@调用同级目录SQL脚本的场景。崖山数据库23.2.x.100已支持@@用法,但旧版本可通过Python脚本批量重写SQL文件,将@@替换为绝对路径。文章通过Oracle示例展示了具体用法,并提供Python脚本实现自动化处理,最后调整批处理脚本以适配YashanDB运行环境。
|
2月前
|
SQL 关系型数据库 数据库连接
|
1月前
|
JSON 数据挖掘 API
1688API最新指南:商品详情接口接入与应用
本指南介绍1688商品详情接口的接入与应用,该接口可获取商品标题、价格、规格、库存等详细信息,适用于电商平台开发、数据分析等场景。接口通过商品唯一标识查询,支持HTTP GET/POST请求,返回JSON格式数据,助力开发者高效利用1688海量商品资源。
|
1月前
|
JSON 数据挖掘 API
京东API接口最新指南:店铺所有商品接口的接入与使用
本文介绍京东店铺商品数据接口的应用与功能。通过该接口,商家可自动化获取店铺内所有商品的详细信息,包括基本信息、销售数据及库存状态等,为营销策略制定提供数据支持。此接口采用HTTP请求(GET/POST),需携带店铺ID和授权令牌等参数,返回JSON格式数据,便于解析处理。这对于电商运营、数据分析及竞品研究具有重要价值。
|
2月前
|
存储 供应链 监控
1688商品数据实战:API搜索接口开发与供应链分析应用
本文详细介绍了如何通过1688开放API实现商品数据的获取与应用,涵盖接入准备、签名流程、数据解析存储及商业化场景。开发者可完成智能选品、价格监控和供应商评级等功能,同时提供代码示例与问题解决方案,确保法律合规与数据安全。适合企业开发者快速构建供应链管理系统。
|
1月前
|
JSON API 开发者
京东API最新指南:商品视频接口接入与应用
在电商领域,商品视频能有效提升销售业绩。京东商品视频接口助力开发者获取商品视频信息(播放链接、时长、格式、封面图等),通过 HTTP GET/POST 请求返回 JSON 数据,便于集成到各类应用中,优化展示效果与用户体验。本指南详解接口接入与使用方法。
|
3月前
|
JSON 前端开发 API
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
122 5
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡