如题,先来张最终效果运营日报
下面介绍下实现过程
【前期准备】
kibana配置视图,并做好条件过滤视图,这里就是做介绍,可以参考博文,
视图做好后生成一个短链接,这里我们生成的是
http://10.0.0.110:5601/goto/4d641c075d7cbf2c7d70a82b16436769
1、安装配置PhantomJS
# yum -y install gcc gcc-c++ make flex bison gperf ruby \ openssl-devel freetype-devel fontconfig-devel libicu-devel sqlite-devel \ libpng-devel libjpeg-devel bitmap-fonts bitmap-fonts-cjk # git clone git://github.com/ariya/phantomjs.git # cd phantomjs # git checkout 1.9.8 # ./build.sh
2、PhantomJS截图脚本
创建TimeOut2s.js
var page = require('webpage').create(); var address = 'http://10.0.0.110:5601/goto/4d641c075d7cbf2c7d70a82b16436769'; var output = 'TimeOut2s.png'; page.viewportSize = { width: 1600, height: 600 }; page.open(address, function (status) { if (status !== 'success') { console.log('Unable to load the address!'); phantom.exit(); } else { window.setTimeout(function () { page.render(output); phantom.exit(); }, 20000); } });
做完以上工作 ,我们先测试下,是否可以正常截图
#/data/programs/phantomjs-2.1.1-linux-x86_64/bin/phantomjs /data/scripts/reports/TimeOut2s.js
果然在路径下产生了一个TimeOut2s.png,截图成功
好了,截图过程很简单吧,接下来配置python发送邮件过程,,我直接上python代码,大家都懂的。
#!/usr/bin/env python #coding: utf-8 import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText from email.mime.image import MIMEImage import datetime import subprocess def getPhantomjs(): commend='phantomjs ./re_code.js' sub_commend = subprocess.Popen(commend, shell=True) result = sub_commend.wait() return result def getYesterday(): today=datetime.date.today() oneday=datetime.timedelta(days=1) yesterday=today-oneday return yesterday def addimg(src,imgid): fp = open(src, 'rb') msgImage = MIMEImage(fp.read()) fp.close() msgImage.add_header('Content-ID', imgid) return msgImage def sendmail(): yesterday = getYesterday() HOST = "smtp.sqbj.com" SUBJECT = u"ELK 异常日志分析日报(%s)"%(yesterday) TO = "wangmj@sqbj.com" FROM = "wangmj@sqbj.com" msg = MIMEMultipart('related') utext = ''' <img src="cid:weekly" border="1" width="90%" height="auto"> ''' msgtext = MIMEText(utext,"html","utf-8") msg.attach(msgtext) msg.attach(addimg("/usr/script/elk_daily/recode.png","weekly")) #attach = MIMEText(open("/usr/script/elk_daily/recode.png", "rb").read(), "base64", "utf-8") #attach["Content-Type"] = "application/octet-stream" #msg.attach(attach) msg['Subject'] = SUBJECT msg['From']=FROM msg['To']=TO try: server = smtplib.SMTP() server.connect(HOST) server.login("wangmj@sqbj.com","wmj3267642") server.sendmail(FROM, TO, msg.as_string()) server.quit() print "邮件发送成功!" except Exception, e: print "邮件发送失败:"+str(e) if __name__ == '__main__': result = getPhantomjs() if result == 0: print "抓取kibana统计报表成功!" sendmail() else: print "抓取kibana统计报表失败!" exit(1)
相关推荐
标题中的"Python3+PhantomJS登陆网站"指的是使用Python3编程语言结合PhantomJS工具来实现自动登录网站的功能。PhantomJS是一个无头浏览器,它允许开发者在没有图形用户界面的情况下运行JavaScript,这对于自动化任务...
Phantomjs特别适用于那些需要对JavaScript渲染后的页面进行操作的情况,例如自动化测试、屏幕截图、网页抓取等。 #### 二、Phantomjs与Python结合的应用场景 在实际应用中,Phantomjs经常被用来处理那些普通HTTP...
PhantomJS是一款基于Webkit内核的无头浏览器,它被广泛用于自动化测试、网页截屏、网络监控等场景。这个“phantomjs自动化测试demo”是一个实例,展示了如何使用PhantomJS进行自动化测试。 首先,我们需要理解...
总的来说,Python结合PhantomJS提供了一种强大且灵活的方式来自动化网页处理,特别是在需要无头浏览和截屏的情况下。记住,使用这些工具时,务必遵循网站的使用条款,尊重数据隐私,并确保你的行为符合道德和法律...
在Python中,我们可以利用Selenium库来与PhantomJS进行交互。Selenium是一个强大的Web测试框架,它支持多种浏览器,包括PhantomJS。通过Selenium,我们可以在Python代码中编写控制PhantomJS的脚本,如打开网页、填写...
java调用phantomJs进行网页截图源码,有需要的朋友自行下载
在IT行业中,自动化测试和网页数据抓取是两个重要的领域,而Selenium、PhantomJS以及Python在这两个领域中都扮演着关键角色。本话题主要关注如何利用Selenium结合PhantomJS通过Python来获取HTML动态生成的数据。 ...
Python + Phantomjs Docker 镜像 这个 docker 镜像旨在运行任何在 PhantomJS 上中继的 python 测试框架,但不限于。 它主要基于官方的 Python Docker 镜像。 PhantomJS 是唯一添加到它的依赖项。
Python开发者可以利用Python的第三方库如`selenium`来控制PhantomJS,实现自动化测试、网页抓取等任务。例如,通过`selenium`,你可以编写Python脚本来打开网页、填写表单、点击按钮,甚至模拟用户交互行为。 在...
在Windows环境下,利用PhantomJS进行网页截图是一种高效且灵活的方法,无需安装完整的浏览器环境。以下是关于如何在Windows上使用PhantomJS实现网页截图的详细步骤和知识点: 1. **安装PhantomJS**: 首先,你需要...
PhantomjsFetcher, 使用phantomjs到 mock 浏览器的python web提取器 PhantomjsFetcher使用phantomjs和 Tornado的python web提取器,用于 mock 浏览器。在使用前使用 安装 phantomjs插件,并从以下位置开始:$ ...
这是基于Selenium和PhantomJs的Python爬虫,具体可以参考我的博客:http://blog.csdn.net/ProgramChangesWorld/article/details/59489406
资源分类:Python库 所属语言:Python 资源全名:phantomjs-1.0.0.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
PhantomJS是一款无头浏览器,这意味着它可以在后台运行,无需用户界面,这对于自动化网页抓取、网页截屏、网页测试等任务非常有用。 PhantomJS自身是一个基于Webkit的浏览器引擎,它支持JavaScript和CSS3,这意味着...
1、下载phantomjs,解压到某个目录。 2、将XXX\phantomjs\bin配置到环境变量中(方便使用)。 3、cmd下调用如下命令:oeepdf "url" "output" ,即可生产pdf文件。 url:网页地址 output:pdf输出路径 ps:如果页面...
这个特性使得PhantomJS成为自动化任务、网页抓取和网页截图的理想工具,尤其在Python编程环境中与Selenium库结合使用时,能够模拟浏览器行为,进行网页动态加载和交互,而无需实际打开浏览器窗口。 首先,让我们...
PhantomJS是一款基于Webkit内核的无头浏览器,它被设计用于自动化Web页面的处理,包括抓取、测试、屏幕截图以及更多功能。这款工具是JavaScript编写的,因此允许开发者利用JavaScript语言来控制和操作浏览器。在...
1、将文件夹phantomjs复制到指定的路径下,然后在path增加环境变量,我的是\phantomjs 路径为E:\temp\phantomjs\bin,重启eclipse 即可 2、引入需要的jar文件ECharts-2.2.7.jar 3、ReportUtils.java EnhancedOption....
python爬虫技术用到的phantomjs驱动,无界面化的浏览器访问