百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

网页内容监控工具 网页内容监控工具下载

yuyutoo 2024-12-19 17:34 2 浏览 0 评论

Check酱

Check酱是一个通用网页内容监控工具,可以监测网页内容变化,并发送异动到微信

Check酱是方糖气球出品的网页内容监测工具,它包含一个Edge/Chrome浏览器插件和可以自行架设的云端

基于浏览器插件,它通过可视化选择器理论上可以监控网页上的任意内容(文本)、除了浏览器通知,还可以配合Server酱将异动推送到微信或手机。

Check酱的原理是,通过浏览器插件后台打开网页进行监测,从而完全模拟用户的真实行为,可以监控绝大部分复杂的动态网页,需要登录的各种后台页面,并(在绝大多数情况下)自动延续登录态。

除了支持网页内容(Dom)的监测,还支持HTTP状态(通过GET监测)、JSON和RSS方式。



配合可以自行架设的云端,可以将监测任务同步到服务器,这样当浏览器和电脑关掉以后,监测任务依然可以定时运行。



插件的安装和使用

插件可以独立使用,只是关掉后定时监测任务不执行。

插件的安装和使用

插件可以独立使用,只是关掉后定时监测任务不执行。

安装

目前Check酱正在内测,尚未上架Edge商店,只能通过手工方式载入

下载插件ZIP包(Github下载地址,无需注册),解压为目录(后文称其为A)。

打开Edge的插件页面,打开「开发者模式」,点击「Load Unpacked」,选择上边解压得到的目录A。

成功载入的话,就可以看到Check酱界面了。如果失败,通常是因为解压时多了一层目录导致的,可以试试重新选择A目录的下一级目录

使用

添加网页监控点

安装插件后,打开要监控的网页,在网页上点击右键,可以看到「定位监测对象」一项。

点击后,开始初始化可视化选择器。

移动鼠标可以看到高亮区域,放到要监控的文字上点击鼠标左键。

注意,选择区域必须包含文本,否则会返回空。有很多文本是印在图片上的,这种也会返回空。

将转向到添加页面。

可以修改名称、设置监控间隔时间、延迟、最大重试次数。在保存之前,最好点击CSS选择器路径一栏后的测试按钮进行测试。

如果提示「检测内容为空」,说明存在问题。再次点击进行观察:

如果发现页面打开后favicon没有出来就关了,可以增加「延迟读取」的秒数;如果打开后还是返回空,那么刚才自动生成的选择器路径可能不正确。

可以更换为浏览器自动生成的,方法如下:

① 在要检测的文本上点右键,选择「inspect/审查元素」

② 这时候会自动打开开发者工具,并自动选中源码中元素的对应行。在高亮的行上点击右键,选择「复制/Copy」→ 「复制选择器/Copy selector」

③ 将复制到的剪贴板的路径填入到「CSS选择器路径」一行后,再次点击「测试」按钮进行测试。

测试通过后,点击「提交」保存监测点。

通过Server酱推送到微信和其他设备

在添加和修改监测点时,填入Sendkey即可将消息推送到Server酱。

如何获得 SendKey

登录Server酱官网,进入「Key&API」,点击「复制」按钮即可。

如何推送到其他通道

登录Server酱官网,进入「通道配置」,选择要推送的通道,并按页面上的说明进行配置。可以将消息推送到「PushDeer」和各种群机器人。

如果以上通道不能满足你的需要,可以选择「自定义」通道,发送自定义的http请求。此方式可以兼容绝大部分通知接口。

导入和导出全部监控点

点击监控点列表右上方的向上和向下箭头可以导入和导出全部监控点。

分享和导入监控点

点击监控点列表中的「剪贴板」,可以将当前监控点的设置导出到剪贴板。

导出数据类似这样:

checkchan://title=Server%E9%85%B1%E5%AE%98%E6%96%B9%E7%BD%91%E7%AB%99%E7%8A%B6%E6%80%81&url=https%3A%2F%2Fsct.ftqq.com&type=get&code=200&rss_field=title&delay=3&retry=10

复制以上字符后,在Check酱浏览器插件界面通过Ctrl+V粘贴,会自动识别并跳转到「添加监测点」界面。

监测周期限制

有些任务只需要在特定的时间段执行,为了节省资源,我们添加了「监测周期限制」功能。比如某动画每周五上午十点更新,那么我们可以将「监测周期限制」设置如下:

这样其他时间段就不再启动监测。对于无法预知事件段的任务,使用默认的「每分钟」即可。

注意在「监测周期限制」之上,还有「监控间隔时间」。

如果 「监测周期限制」 为每分钟,而「监控间隔时间」为60分钟,那么每分钟都会尝试监测,而一旦监测成功一次,那么下次监测将是60分钟后。

同时,因为执行监测任务本身也耗费时间,所以「监控间隔时间」为1分钟时,往往每隔一分钟(即每两分钟)才会运行一次任务。

Selector 扩展语法

通过@指定数组元素

最新的版本支持了一个Selector扩展语法:由于底层通过 document.querySelectorAll 实现,因此会返回匹配的全部元素于一个数组。当这些元素属于同一个父节点我们可以用 :nth-of-type(1) 或者 :nth-child(1)来指定数组中的某一项。

但如果这些元素不属于同一个父节点,那么以上方法会失效。这里添加了一个 selector@n 的语法,让我们可以从 Selector 返回的数组中指定某一个元素。如 .booklist .item@0 将返回 document.querySelectorAll(.booklist .item)[0]

@语法除了使用在DOM selector上,还可以用来指定 RSS 监测结果。默认情况下,RSS 将返回整个Feed的第一篇文章,你可以用过在 Feed url 后边添加 @1 ,将其指定为监测第二篇文章(依然是从0开始计数)。

通过%获得元素属性

Selector的最下一级返回一个元素,但有时候我们需要监测这个元素的某个属性值。比如监测一个链接的href。为了解决这个问题,我们扩展了 selector 语法,让用户可以通过 element%attribute 的方式来获取元素的某个属性值。如:article#post-180 > div > div > p > a%href。当 %@ 同时使用时, % 应紧跟元素后,如:article#post-180 > div > div > p > a%href@0

日志查看和错误定位

为了更清楚的了解定时任务的执行情况,你可以打开「开发者工具」(F12)在 Console 标签页中可以看到任务产生的日志。

错误信息也会在这里以红色高亮的行显示,遇到Bug时提供日志错误截图可以帮助我们更快的定位到问题。

更新浏览器插件

上架商店后,可以自动升级,在此之前需要手动升级。升级方式为下载zip包解压后覆盖原有文件,再在浏览器的插件管理面板中「reload」一下。

镜像的安装和使用

新版镜像已经将云端和远程桌面版本集成,只需一次安装都可以使用。

  • 云端:配合自行架设的服务器,可以将任务同步到云端执行,即使关掉浏览器和电脑后监测任务也会一直运行。
  • 远程桌面:在Docker中封装了Chrome浏览器,可以通过VNC和Web界面像在电脑上一样使用。

?? 特别说明:因为云端的网络、环境都和本机不同,所以并不保证本机能运行的任务都能在云端运行成功,一些复杂网页和有较多动态效果的网页可能失败。

安装

架设自架版云端需要技术基础,非技术用户建议购买我们的官方版云端(将在内测完成后发布)

需要docker环境。如果你没有云服务器,可以看看腾讯云30~50元首单的特价服务器。

一键安装命令

点此进入工具界面

通过 Docker-compose 启动

登录服务器(假设其IP为IPB),在要安装的目录下新建目录 data,并使其可写:

mkdir data && chmod 0755 data

新建一个 docker-compose.yml 文件,将下边的内容按提示调整后粘贴保存:

version: '3'
services:
  chrome:
    image: easychen/checkchan:latest
    volumes:
      - "./data:/checkchan/data"
    environment:
      - "CKC_PASSWD=<这里是远程桌面的密码,写一个你自己想的>"
      - "VDEBUG=OFF"
      - "VNC=ON"
      #- "WIN_WIDTH=414"
      #- "WIN_HEIGHT=896"
      #- "XVFB_WHD=500x896x16"
      - "API_KEY=<这里是云端的API KEY,写一个你自己想的>"
      - "ERROR_IMAGE=NORMAL" # NONE,NORMAL,FULL
      #- "SNAP_URL_BASE=<开启截图在这里写服务器地址(结尾不用加/),不开留空>..."
      #- "SNAP_FULL=1"
      - "TZ=Asia/Chongqing"
      # - "WEBHOOK_URL=http://..." # 云端 Webhook地址,不需要则不用设置
      # - "WEBHOOK_FORMAT=json" # 云端 Webhook POST 编码,默认是 Form
    ports:
      - "5900:5900" 
      - "8080:8080" 
      - "8088:80"

将其中<这里是远程桌面的密码,写一个你自己想的><这里是云端的API KEY,写一个你自己想的> 换成别人不知道的密码(下文称密码C和D)。注意不要包含$字符,替换完后也不再有两边的尖括号<>

如果不希望启动远程桌面,请将 VNC=ON 改为 VNC=OFF

保证Docker用户对此目录有写权限,并在同一目录下运行以下命令:

docker-compose up -d

如提示docker服务未安装/找不到/未启动,可在 docker-compose 前加 sudo 再试

等待初始化完成后,访问 http://$BBB:8080( 将$BBB替换为IP B),看到 NoVNC Web界面说明容器已经启动。

服务所在的端口为:

  • 云端:8088
  • 远程桌面(VNC): 5900
  • 远程桌面的Web界面(NoVNC): 8080

通过 Docker 启动

你也可以将 docker-compose 中的参数传给 docker 来启动:

docker run -d -p 8088:80 -p 8080:8080 -p 5900:5900 -v ${PWD}/data:/checkchan/data -e API_KEY=123  -e VDEBUG=OFF -e VNC=ON -e SNAP_URL_BASE=http://localhost:8088  -e CKC_PASSWD=123 -e TZ=Asia/Chongqing easychen/checkchan:latest

请将上述命令中的123替换为你想要设定的密码、将SNAP_URL_BASE换成服务器的外网IP(如果想通过手机查看截图)。

群晖安装

只有支持Docker的群晖型号才能安装Check酱,除了可以直接通过命令行安装,也可以参考GUI安装教程。

Volume 和环境变量可以参考以上的docker/compose设定。

更新镜像

Check酱云端镜像更新后,你可以将正在运行的云端服务升级到最新版。方式如下:

首先停现有的容器:

通过 docker-compose 启动的运行:

docker-compose down

通过 docker 直接启动的运行 docker ps 查询到容器id,通过 docker stop 容器id 停止。

然后运行 docker pull 拉取最新版:

docker pull easychen/checkchan:latest

完成后再启动服务即可。

云端的使用

将浏览器插件对接云端

点击插件右上方菜单中的云端服务

服务器地址一栏输入 http://$BBB:8088(将$BBB替换为IP B,这里的URL不用加key参数);在API_KEY一栏输入密码C。

点击保存,连接成功后,配置完成。

同步本地任务到云端

配置好云端以后回到列表页,每行最右边会多出来一个「电脑」图标,点击后会变成「云」图标,该任务将改为在云端执行。

点击右上角 「云+箭头」的按钮,可以主动同步任务到云端。

Check酱也会每十分钟自动同步一次。

云端截图

Check酱自架云端支持对网页(dom)类型任务进行截图,可以通过给镜像传递环境变量来开启:

  • SNAP_URL_BASE=<开启截图在这里写服务器地址,不开留空> #如 http://ip.com/
  • SNAP_FULL=1 #完整网页长图

可参考上文的docker-compser.yml。添加环境变量后重启服务即可。

注意

  • 截图功能需要较大的内存,部分服务器可能会报错
  • 云端网络和本地不同,可能会超时失败,请适当增加延时,并将取消完整截图

RSS上行接口

Check酱自架云端内置了动态页面RSS上行用的接口:

  • RSS上行地址为: http://$ip:$port/rss/upload?key=$api_key
  • RSS Feed地址为:http://$ip:$port/image/rss.xml?key=$api_key

多浏览器Cookie同步接口

Check酱自架云端内置了Cookie同步用的接口:

  • Cookie同步URL为: http://$ip:$port/cookie/sync?key=$api_key
  • 配对密码: 自行设定,同步Cookie的两个浏览器中必须一致
  • 同步方向: 一个发送一个接收,一般电脑上的发送、服务器上远程桌面里的接收
  • 同步频率:发送或者接收间隔时间

云端任务的安全性

Check酱云端任务的原理是将cookie同步到云端,然后用浏览器查看,本质和用户操作一样。但因为出口IP可能是机房和数据中心,频次太高也有被风控的可能。如果将云端部署在家里,则和在家用电脑访问效果一样。

云端错误排查

通常来讲,出现本地任务可以执行,云端不能执行的问题,是因为两者网络环境、浏览器软件存在差异,比如:

  1. 页面结构每次都会变动:比如一些网站的首页,建议进入分类列表页面选择监控点
  2. 电脑网络和云端网络不同:在浏览器中可以访问的内容,在数据中心可能访问不到
  3. CDN更新延迟:电脑和云端CDN节点刷新未完成,会造成一边可用一边不可用,等待更新完成后再监控
  4. 浏览器插件改变了网页结构:比如本地通过 AdBlock 过滤了广告,但云端没有,造成结构不同,监测失败

由于服务器内存通常没大家电脑大,所以很多在本地执行OK的任务同步到云端后会因为「延迟读取」秒数太小中途停止而失败。如果遇到类似情况,请尝试增加「延迟读取」。

如果这样也不行,往往是因为云端无头浏览器显示网页和本地存在差异导致,我们为这种情况生成了最近一次失败的任务的截图,可以在「云端服务」菜单下看到。

点击「失败截图」按钮即可看到。注意:需要只用最新的镜像,并传递ERROR_IMAGE=NORMAL 环境变量。如果希望截取完整网页的图片,可以传递ERROR_IMAGE=FULL

如果任务失败又没有截图,说明该任务不是因为CSS选择器未命中而失败,尝试增加「延迟读取」可能解决。

这个页面也能看到云端任务日志,这里的日志不包含手动点击「监测」按钮触发的任务。如果没有可以执行的任务(任务是定时触发的),那么日志亦可能为空。

远程桌面版的使用

除了自架云端,我们还在镜像中集成了远程桌面模式。它让你可以通过VNC连接服务器,像使用本地浏览器一样使用。

远程桌面版本之前为一个独立镜像,现在已经整合到 easychen/checkchan 中,因此你可以直接使用。

通过 Web 界面使用

  • Web界面: http:///$BBB:8080
  • 密码: 123 (可自行修改命令调整)

通过 VNC 连接使用

服务启动后,可以通过 VNC 客户端软件进行连接使用。

  • 连接地址: 架设服务的IP:5900
  • 密码: 123 (可自行修改命令调整)

连接云端

在远程桌面中,可以直接连接同一个容器内的云端,服务器地址填 http://localhost,API KEY按上边 YML 中设置的输入即可。

移动版

可以添加环境变量,修改屏幕宽高限制,使其在手机上更好用:

- WIN_WIDTH=414 
- WIN_HEIGHT=896 
- XVFB_WHD=500x896x16

一个加到 docker 命令中的例子:

docker run -d -p 5900:5900 -v ${PWD}/data:/checkchan/data -e CKC_PASSWD=123 -e WIN_WIDTH=414 -e WIN_HEIGHT=896 -e XVFB_WHD=500x896x16 easychen/checkchan:latest

特别说明

容器日常消耗在 300M~500M。内存较大的运行环境会比较稳定,如果遇到问题可尝试加大内存。

可视化调试

使用同一个镜像中集成的云端可以对云端任务进行可视化调试,将 YML 文件中的 VDEBUG 设置为 ON,再重新启动容器即可看到云端监测网页的详细过程。

environment:
  - "CKC_PASSWD=123"
  - "VDEBUG=ON"

相关推荐

双十二不用愁了,酷炫的PPT数字滚动动画来了,业绩展示更亮眼

试想一下,当在职场路演融资、业绩展示、公开演讲现场使用下面动画特效是不是非常有视觉冲击力呢?但是不是学习了该技巧就能做出震撼感十足的动画特效呢?答案显然是否定的,小编深知PPT的核心能力不在掌握技巧的...

终于等到你,Android 首个滚动截图工具:咔咔截屏录屏大师

寻觅寻觅,总算在Android平台上找到一款支持滚动截图的应用。从此,分享有趣的QQ、微信聊天记录或网页截图时,再也不用一屏屏截图并手动拼接了。和iOS平台盛名的长图不同,咔咔截屏录屏大师并...

PPT怎样设置图片无限循环滚动,设置方法很简单,新手一学就会

如果我们制作的PPT中的图片是动态图片,会自我进行滚动,是不是会让我们的幻灯片播放的效果变得更加出众呢?这里就向大家介绍设置这一效果的方法。一、插入图片1、依次单击“插入”--“图片”--“来自文件...

微信可以发送滚动字幕了,超简单,看一遍就会了

大家好,最近在和朋友聊天的时候,发现他给我发的消息能在屏幕上滚动,废话不多说,来看下效果吧。如果聊天的时候,消息都变成这样,是不是更有趣了呢!想要实现这样的效果,方法非常简单,需要用到一款小程序,根据...

世界首创!我国开创“车轮”卫星运行模式,隔着云层也能测量地面

在航天发射和卫星监测领域,我国又创造了个世界首次——卫星编组以“车轮式编队”运行。今年3月30日18时50分,我国长征二号丁运载火箭在太原卫星发射中心发射升空,成功将宏图一号01组卫星送入预定轨道,...

利用滚动条来制作动态图表,不会的看过来

现在一份数据,要求根据数据来制作任意3天销量的动态图表。制作过程如下:1、插入----滚动条-----出现“十字”时按住鼠标左键向右拖动绘制滚动条----选中滚动条----右键----设置对象格式--...

微信红包数字跳动表情包 微信红包金额随机跳动动图

最近微信里面很流行随机红包,当我们打开红包的时候可以看到数字在跳动。其实这是一个套路啦。微信红包数字跳动怎么弄呢?下文中详细教教大家。微信红包数字金额随机跳动图片表情包随机红包怎么发1.首先我们选择一...

四屏交错滚动教程,更简单快捷的方法教给你

简单的方法制作四屏交错滚动。·先打开醒图软件,进入醒图,选择拼图,需要几张一组就选几张,我选择三张一组,选择三张图片,选择完成。·选择长图拼接,选择纵向拼接,这样三张图片就拼接成一个长图了。·点右上角...

创意最美早上好动态图片带字 免打字夏日早安问候语动态鲜花图片

1、一万个美丽的未来,抵不上一个温暖的现在;每一个真实的现在,都是我们曾经幻想的未来,愿你爱上现在,梦见未来。早安!2、早安,我永恒的爱人,虽然我尚未起床,但思想已经飞到你的身边来了,忽而高兴,忽而忧...

#安全提示每日一图#滚动摩擦。

#安全提示每日一图#滚动摩擦。????

最后一图逼死强迫症,当你上下滚动屏幕时它还会动

今天学校食堂加餐,我的炒菜里居然还有肉尼玛这不一样的吗为了游戏,命都可以不要这少年才是人生赢家叔叔你在干什么当女孩子问男朋友“我今天哪里不一样”时貌似两个礼物都不错啊我也不知道为什么,今天沙发君自己就...

这个动态甘特图,居然是条件格式制作的,老板看了都夸你厉害

Hello,大家好,今天跟大家分享下我们如何在利用Excel制作一个项目进度表,它的本质其实就是一个甘特图,它最大的特点就是表头是动态的,我们可以通过点击【滚动条】让数据动起来,非常适合用于时间跨度比...

如何使用OLED实现滚动效果

前言这篇文章不过多描述OLED工作原理及驱动过程,仅从实用性出发,如何使用OLED实现滚动效果。这里我们以正点原子战舰板OLED实验例程为基础。(本文配套工程文件,在底部下方供大家学习下载。)对于OL...

12月29日问候大家早上好图片动态表情,问候早晨好表情动态祝福语

用清晨的阳光沐浴,给你舒展;用清新的空气洗漱,给你舒心;伴清莹的雨露散步,给你舒情;向美好的一天欢呼,给你舒怀,用快乐的词汇凝聚,给你祝福,祝你在绚丽的晨光中走好每一天。朋友,早安!新的一天开始了,带...

一款不可或缺的截图软件-ShareX

电脑上截图,相信不少小伙伴都是用的微信或QQ内置的功能,其实Windows系统也有自带的截图工具,快捷键Window+Shift+S。...

取消回复欢迎 发表评论: