Cacti的流量图爬取

简介: cacti交换机流量图检测工具

Cacti的流量图爬取
Windows环境


from PIL import Image
from io import BytesIO
from docx import Document
from docx.shared import Inches
from bs4 import BeautifulSoup
from http import cookiejar

import datetime
import glob
import shutil
import os
import re
import requests
import urllib

#路径变量
SOURCEPATH=""
Ops=""
INSPECTION=""
MONITOR=""
SHELVES=""

#地点变量
add = "ADDRESS"

#获取cookie
FILENAME = open("cookie.txt", 'w+')
filename = 'cookie.txt'




def GetCookie():
    url = 'url'
    file=urllib.request.urlopen(url)
    #print(file.getcode)
    message = file.info()
    CookieStr = str(message)
    CookieVlue = re.findall(r'Cacti=[a-zA-Z0-9]+',CookieStr)[0]
    print(CookieVlue)
    return CookieVlue

#爬取数据
document = Document()
url='url'
headers = {
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36',
    'Cookie':'Cacti=fdsafdsaw32342',
}


for i in (2,3,4,5,6,7,8,9,10,11,34,35,36):
    #目标页面
    for n in (1,3,6):
        #目标目录
        payload1 = {'action':'tree','tree_id':'2','leaf_id':'%s'%i,'page':'%d'%n}

        for m in(350,410,528,472,588,110,170,230,290,1085,1116,1142):
            #流量图ID号

            #正则规则
            Regular1 = '(graph\Simage\Sphp.*local_graph_id=%d.*end=\d+)'%m
            print (Regular1)
            First_Page = requests.get(url,headers=headers,params=payload1)
            print (First_Page.url)

            #清洗数据,获取流量图URL
            plt = re.findall(Regular1,First_Page.text)
            print(plt)
            if len(plt):
                a=(plt[0])
            else:
                True
            JPG_url = ( '<URL>'+ a)
            print( '<URL>'+ a)
            JPG_url_r = JPG_url.replace(';','&')
            print(JPG_url_r)

            #获取图片二进制数据,并保存成doc
            r = requests.get(JPG_url_r,headers=headers)
            image = Image.open(BytesIO(r.content))
            image.save('image%d.bmp'%i)
    document.add_picture('image%d.bmp'%i, width=Inches(6))
document.save('FRALYCHEN.docx')

#复制巡检报告文件并标记日期
T=datetime.datetime.now()

src_file = '00' + add + 'FRALYCHEN.xls'
dst_file = "2019.{}.{}".format(T.month, T.day) + add + 'FRALYCHEN.xls'
shutil.copyfile(SOURCEPATH + src_file,INSPECTION + dst_file)

MonScfile = '00' + add + 'FRALYCHEN.docx'
MonDtfile = "2019.{}.{}".format(T.month, T.day) + add + 'FRALYCHEN.docx'
shutil.copyfile(SOURCEPATH + MonScfile,MONITOR + MonDtfile)

#删除文件
os.remove(SOURCEPATH + MonScfile)
for infile in glob.glob(os.path.join(SOURCEPATH,'*.bmp')):
    os.remove(infile)

#SVN提交
def SvnCommit():
    os.chdir(Ops)
    os.system('svn cleanup')
    r=os.popen('svn st')
    info=r.readlines()
    print(info)

    for line in info:
        line=line.strip('\n').split('       ')
        one=line[0]
        two=line[1]
        print(two)
        if one == '?':
            os.system('svn add %s' % two)
            os.system('svn commit -m %s' % two)
        elif one == '!':
            os.system('svn del %s' %two)
            os.system('svn commit -m "clear"')
SvnCommit()
目录
相关文章
|
6月前
|
网络协议 Shell 网络安全
实验目的1.编译安装httpd2.优化路径3.并将鲜花网站上传到web服务器为网页目录4.在客户机访问网站http://www.bdqn.com
实验目的1.编译安装httpd2.优化路径3.并将鲜花网站上传到web服务器为网页目录4.在客户机访问网站http://www.bdqn.com
216 0
|
应用服务中间件 定位技术 网络安全
Nginx访问日志接入GrayLog4.2.5并通过GeoIP展现访问者IP的地理位置信息
Nginx访问日志接入GrayLog4.2.5并通过GeoIP展现访问者IP的地理位置信息
486 0
Nginx访问日志接入GrayLog4.2.5并通过GeoIP展现访问者IP的地理位置信息
|
数据采集 存储 分布式计算
数据预处理﹣系统监控 web 界面﹣实时流量转发数据来源|学习笔记
快速学习数据预处理﹣系统监控 web 界面﹣实时流量转发数据来源
185 0
数据预处理﹣系统监控 web 界面﹣实时流量转发数据来源|学习笔记
|
存储 数据采集 监控
数据预处理﹣系统监控 web 界面﹣各链路流量转发数据来源|学习笔记
快速学习数据预处理﹣系统监控 web 界面﹣各链路流量转发数据来源
156 0
数据预处理﹣系统监控 web 界面﹣各链路流量转发数据来源|学习笔记
|
监控 开发者
网站流量日志分析背景介绍— 如何进行网站分析--内容导航分析|学习笔记
快速学习网站流量日志分析背景介绍—如何进行网站分析--内容导航分析
117 0
网站流量日志分析背景介绍— 如何进行网站分析--内容导航分析|学习笔记
|
SQL 监控 HIVE
网站流量日志分析--统计分析--独立访客分析|学习笔记
快速学习网站流量日志分析--统计分析--独立访客分析
220 0
网站流量日志分析--统计分析--独立访客分析|学习笔记
|
数据采集 消息中间件 前端开发
爬虫识别-关键页面访问量-需求及实现思路|学习笔记
快速学习爬虫识别-关键页面访问量-需求及实现思路
135 0
爬虫识别-关键页面访问量-需求及实现思路|学习笔记
|
数据可视化 网络协议 应用服务中间件
可视化代理神器,动动手指轻松配置Nginx
可视化代理神器,动动手指轻松配置Nginx
可视化代理神器,动动手指轻松配置Nginx
|
数据采集 分布式计算 大数据
爬虫识别-关键页面访问量-实现代码及效果|学习笔记
快速学习爬虫识别-关键页面访问量-实现代码及效果。
106 0
下一篇
无影云桌面