详情

首页手游攻略 Cacti的流量图爬取

Cacti的流量图爬取

佚名 2026-09-02 09:04:54

Cacti的流量图爬取Windows环境from PIL import Imagefrom io import BytesIOfrom docx import Documentfrom docx.shared import Inchesfrom bs4 import BeautifulSoupfrom http import cookiejarimport datetimeimport globimport shutilimport osimport reimport requestsimport urllib#路径变量SOURCEPATH=""Ops=""INSPECTION=""MONITOR=""SHELVES=""#地点变量add = "ADDRESS"#获取cookieFILENAME = 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 = '(graphSimageSphp.*local_graph_id=%d.*end=d )'%mprint (Regular1)First_Page = requests.get(url,headers=headers,params=payload1)print (First_Page.url)#清洗数据,获取流量图URLplt = re.findall(Regular1,First_Page.text)print(plt)if len(plt):a=(plt[0])else:TrueJPG_url = ( '<URL>'  a)print( '<URL>'  a)JPG_url_r = JPG_url.replace(';','&')print(JPG_url_r)#获取图片二进制数据,并保存成docr = 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('').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()
相关资讯
点击查看更多
游戏推荐
推荐专题
热门阅读
推荐下载