监控网页数字变化,增大提醒,减小不提醒

本贴最后更新于 1343 天前,其中的信息可能已经事过境迁

如果单纯监控网页上的数字范围比较简单,比如监控价格低于 100 元提醒,由于参考值 100 是固定的,只需要每次抓取价格与 100 做比较就可以了。但是如果要做到价格上涨时提醒而且降价时不提醒,就比较复杂了,因为每次抓取价格后跟上一次的抓取结果进行比较,就必须想办法记住上一次的价格。幸好木头浏览器提供一个自定义变量的功能,可以把价格记录在自定义变量中,然后每次抓取价格都与记住的这个变量比较,并把最新的价格赋值给变量。
有了思路后马上实践一下,为了测试方便,用一个随机数生成页面代替价格(库存)监控,具体步骤如下:
1、先打开这个随机数生成页面观察一下,点击“生成”按钮都在页面末尾显示一个大于 1 且小于 100 的随机数,然后再次点击生成,如果生成的数值比原来的大,就报警提醒,反之则不提醒。
1 网页随机数.png

2、创建一个打开网址的步骤,添加监控的网址。
2 添加网址.png

3、创建自定义变量的步骤,创建一个名为“old“的变量,用来存放每次抓取的数字,并设置初始值为 0。
3 自定义变量存放数值.png

4、创建一个定时控制步骤,设置间隔 5 秒执行一次,即每 5 秒点击一次生成按钮,并监控数字是否增大。
4 定时生成数字监控.png

5、创建一个点击元素步骤,用来点击生成按钮。先点击【添加】按钮,在弹出的【添加点击目标】对话框中,点击【自动获取】按钮,会弹出页面元素选择状态,将鼠标移到网页上的【生成】按钮处单击右键,并在弹出的快捷菜单中,选择【获取元素并返回】,就成功获得【生成】按钮元素的参数。最后点击【确定】添加点击目标。
5 点击生成按钮.png

6、创建一个抓取内容步骤,用来抓取页面上的数字。先点击【添加】按钮,在弹出的【抓取元素设置】对话框中,设置别名为“new“,这样抓取到的数值将保存在名为”new"的变量中。点击【自动获取】按钮,会弹出页面元素选择状态,将鼠标移到网页抓取数字元素处单击右键,并在弹出的快捷菜单中,选择【获取元素并返回】,就成功获得页面数字元素的参数。最后点击【确定】添加抓取内容。
6 抓取页面数字内容.png

7、创建一个监控其它的步骤,用来监控当前步骤的运行次数,如果是第一次运行,只记录抓取的页面数字,之后运行才和上一次抓取的数字进行对比。如下图所示,设置当运行次数大于 1 时,执行 yes 节点内容(进行数字对比),反之执行 no 节点内容(由于 no 节点什么也不做,会继续执行下一个步骤)。
7 监控运行次数.png

8、在监控其它步骤的 Yes 子节点下创建一个监控变量的步骤,如下图所示,添加监控条件为“new”变量大于“old"变量。满足条件时执行本步骤的 Yes 子节点(报警提醒),反之执行 No 子节点(什么也不做)。注意这里不能直接输入变量名称,那样是无效的,应该在输入框内点击鼠标右键选择对应的变量。

8 比较数字是否增大.png

9、在监控变量的 Yes 子节点中设置报警提醒方式,可以选择弹出窗口提醒,并设置弹窗内容显示原数字和增长后的数字;同时还可以勾选声音提醒和微信邮件提醒。
9 页面数字变化提醒方式.png

10、最后增加一个自定义变量步骤,把”new“变量的值赋值给”old“变量,成为下一次监控的比较值。
10 保存数字变量.png

11、全部设置完成后,打开项目管理器的【项目】菜单,保存当前项目。选中项目的根节点,点击开始按钮就可以执行本项目了。浏览器间隔 5 秒就会点击一次页面上的【生成】按钮,如果生成的随机数比原来的数值大,就会在屏幕右下角弹窗报警提醒,弹窗内容显示前后两次抓取的数字,同时发出警报提示音和微信邮件提醒。
11 页面数字变大提醒效果.png

   监控网页数字增长提醒而降低不提醒,这是页面数字监控中最复杂的情况。如果监控数字是固定比较值,则无需设置和保存自定义变量。
  • 工具

    子曰:“工欲善其事,必先利其器。”

    288 引用 • 734 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • geekpie

    上古软件 没想到还在

    1 回复
  • mutousoft
    作者

    ❤️

mutousoft
网页变化监控与自动控制 韶关

推荐标签 标签

  • Flume

    Flume 是一套分布式的、可靠的,可用于有效地收集、聚合和搬运大量日志数据的服务架构。

    9 引用 • 6 回帖 • 637 关注
  • 微服务

    微服务架构是一种架构模式,它提倡将单一应用划分成一组小的服务。服务之间互相协调,互相配合,为用户提供最终价值。每个服务运行在独立的进程中。服务于服务之间才用轻量级的通信机制互相沟通。每个服务都围绕着具体业务构建,能够被独立的部署。

    96 引用 • 155 回帖
  • 笔记

    好记性不如烂笔头。

    308 引用 • 793 回帖
  • Redis

    Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。从 2010 年 3 月 15 日起,Redis 的开发工作由 VMware 主持。从 2013 年 5 月开始,Redis 的开发由 Pivotal 赞助。

    286 引用 • 248 回帖 • 44 关注
  • 大数据

    大数据(big data)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。

    93 引用 • 113 回帖
  • TGIF

    Thank God It's Friday! 感谢老天,总算到星期五啦!

    288 引用 • 4485 回帖 • 663 关注
  • jQuery

    jQuery 是一套跨浏览器的 JavaScript 库,强化 HTML 与 JavaScript 之间的操作。由 John Resig 在 2006 年 1 月的 BarCamp NYC 上释出第一个版本。全球约有 28% 的网站使用 jQuery,是非常受欢迎的 JavaScript 库。

    63 引用 • 134 回帖 • 724 关注
  • IDEA

    IDEA 全称 IntelliJ IDEA,是一款 Java 语言开发的集成环境,在业界被公认为最好的 Java 开发工具之一。IDEA 是 JetBrains 公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。

    181 引用 • 400 回帖
  • H2

    H2 是一个开源的嵌入式数据库引擎,采用 Java 语言编写,不受平台的限制,同时 H2 提供了一个十分方便的 web 控制台用于操作和管理数据库内容。H2 还提供兼容模式,可以兼容一些主流的数据库,因此采用 H2 作为开发期的数据库非常方便。

    11 引用 • 54 回帖 • 653 关注
  • 链书

    链书(Chainbook)是 B3log 开源社区提供的区块链纸质书交易平台,通过 B3T 实现共享激励与价值链。可将你的闲置书籍上架到链书,我们共同构建这个全新的交易平台,让闲置书籍继续发挥它的价值。

    链书社

    链书目前已经下线,也许以后还有计划重制上线。

    14 引用 • 257 回帖
  • RESTful

    一种软件架构设计风格而不是标准,提供了一组设计原则和约束条件,主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

    30 引用 • 114 回帖 • 3 关注
  • 运维

    互联网运维工作,以服务为中心,以稳定、安全、高效为三个基本点,确保公司的互联网业务能够 7×24 小时为用户提供高质量的服务。

    149 引用 • 257 回帖
  • CentOS

    CentOS(Community Enterprise Operating System)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。两者的不同在于 CentOS 并不包含封闭源代码软件。

    238 引用 • 224 回帖
  • Spark

    Spark 是 UC Berkeley AMP lab 所开源的类 Hadoop MapReduce 的通用并行框架。Spark 拥有 Hadoop MapReduce 所具有的优点;但不同于 MapReduce 的是 Job 中间输出结果可以保存在内存中,从而不再需要读写 HDFS,因此 Spark 能更好地适用于数据挖掘与机器学习等需要迭代的 MapReduce 的算法。

    74 引用 • 46 回帖 • 560 关注
  • Eclipse

    Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。

    75 引用 • 258 回帖 • 624 关注
  • 资讯

    资讯是用户因为及时地获得它并利用它而能够在相对短的时间内给自己带来价值的信息,资讯有时效性和地域性。

    55 引用 • 85 回帖
  • Dubbo

    Dubbo 是一个分布式服务框架,致力于提供高性能和透明化的 RPC 远程服务调用方案,是 [阿里巴巴] SOA 服务化治理方案的核心框架,每天为 2,000+ 个服务提供 3,000,000,000+ 次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。

    60 引用 • 82 回帖 • 603 关注
  • Thymeleaf

    Thymeleaf 是一款用于渲染 XML/XHTML/HTML5 内容的模板引擎。类似 Velocity、 FreeMarker 等,它也可以轻易的与 Spring 等 Web 框架进行集成作为 Web 应用的模板引擎。与其它模板引擎相比,Thymeleaf 最大的特点是能够直接在浏览器中打开并正确显示模板页面,而不需要启动整个 Web 应用。

    11 引用 • 19 回帖 • 364 关注
  • B3log

    B3log 是一个开源组织,名字来源于“Bulletin Board Blog”缩写,目标是将独立博客与论坛结合,形成一种新的网络社区体验,详细请看 B3log 构思。目前 B3log 已经开源了多款产品:SymSoloVditor思源笔记

    1063 引用 • 3454 回帖 • 189 关注
  • golang

    Go 语言是 Google 推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发 Go,是因为过去 10 多年间软件开发的难度令人沮丧。Go 是谷歌 2009 发布的第二款编程语言。

    497 引用 • 1388 回帖 • 278 关注
  • Webswing

    Webswing 是一个能将任何 Swing 应用通过纯 HTML5 运行在浏览器中的 Web 服务器,详细介绍请看 将 Java Swing 应用变成 Web 应用

    1 引用 • 15 回帖 • 637 关注
  • SVN

    SVN 是 Subversion 的简称,是一个开放源代码的版本控制系统,相较于 RCS、CVS,它采用了分支管理系统,它的设计目标就是取代 CVS。

    29 引用 • 98 回帖 • 694 关注
  • IPFS

    IPFS(InterPlanetary File System,星际文件系统)是永久的、去中心化保存和共享文件的方法,这是一种内容可寻址、版本化、点对点超媒体的分布式协议。请浏览 IPFS 入门笔记了解更多细节。

    21 引用 • 245 回帖 • 242 关注
  • 外包

    有空闲时间是接外包好呢还是学习好呢?

    26 引用 • 232 回帖
  • 酷鸟浏览器

    安全 · 稳定 · 快速
    为跨境从业人员提供专业的跨境浏览器

    3 引用 • 59 回帖 • 26 关注
  • Hprose

    Hprose 是一款先进的轻量级、跨语言、跨平台、无侵入式、高性能动态远程对象调用引擎库。它不仅简单易用,而且功能强大。你无需专门学习,只需看上几眼,就能用它轻松构建分布式应用系统。

    9 引用 • 17 回帖 • 612 关注
  • OpenStack

    OpenStack 是一个云操作系统,通过数据中心可控制大型的计算、存储、网络等资源池。所有的管理通过前端界面管理员就可以完成,同样也可以通过 Web 接口让最终用户部署资源。

    10 引用