首页
/ 在Home Assistant OS中配置Changedetection.io与Browserless Chromium集成

在Home Assistant OS中配置Changedetection.io与Browserless Chromium集成

2025-07-07 05:14:08作者:滕妙奇

前言

Changedetection.io是一个强大的网站变更检测工具,而Browserless Chromium则提供了无头浏览器功能。在Home Assistant OS环境中将这两个插件集成使用,可以显著增强Changedetection.io的网页抓取能力,特别是对于那些需要JavaScript渲染的现代网页。

配置步骤详解

1. 安装必要插件

首先确保已在Home Assistant OS中安装以下两个插件:

  • Changedetection.io
  • Browserless Chromium

2. Browserless Chromium配置

Browserless Chromium插件安装后默认会运行在3000端口。验证其正常运行的方法是通过浏览器访问http://[你的HA IP]:3000/docs,应该能看到API文档页面。

重要提示:建议保持默认的3000端口,修改端口可能导致连接问题。

3. 获取Browserless Chromium的主机名

有两种方法可以获取Browserless Chromium的主机名:

  1. 通过UI查看: 在Home Assistant的插件页面,Browserless Chromium插件卡片上会显示其完整主机名。

  2. 通过SSH查看: 连接到Home Assistant的SSH后,执行命令:

    docker exec -i hassio_dns cat "/config/hosts"
    

    在输出中查找类似这样的行:

    172.30.33.5 2937404c-browserless-chrome 2937404c-browserless-chrome.local.hass.io
    

    使用2937404c-browserless-chrome或完整主机名均可。

4. 配置Changedetection.io

使用Home Assistant的文件编辑器插件,编辑以下文件:

/homeassistant/addons_config/changedetection.io/config.yaml

在文件末尾添加以下配置(注意保留文件末尾的空行):

PLAYWRIGHT_DRIVER_URL: ws://[Browserless主机名]:3000/chromium?launch={"defaultViewport":{"height":720,"width":1280},"headless":false,"stealth":true}&blockAds=true

其中[Browserless主机名]替换为前面获取的主机名。

5. 重启Changedetection.io插件

完成配置后,重启Changedetection.io插件使配置生效。

功能验证

在Changedetection.io的网页界面中,现在应该能够选择"WebDriver Chrome/Javascript"作为抓取方法。创建一个新的监控任务,选择此方法,系统将使用Browserless Chromium来渲染网页。

常见问题解决

  1. 连接失败

    • 确认Browserless Chromium运行在3000端口
    • 检查主机名是否正确
    • 确保配置中的协议是ws://而非http://
  2. 性能问题

    • 可以调整defaultViewport参数中的分辨率
    • 对于复杂网页,可以增加超时时间
  3. 广告屏蔽: 配置中的blockAds=true参数会启用广告屏蔽,若不需要可移除

高级配置建议

对于需要更复杂交互的网页,可以在配置中添加更多Playwright启动参数,例如:

  • ignoreHTTPSErrors: 忽略HTTPS错误
  • slowMo: 减慢操作速度(调试用)
  • timeout: 设置超时时间

通过这种集成方式,Changedetection.io获得了处理现代JavaScript网页的能力,大大扩展了其监控范围和应用场景。

登录后查看全文
热门项目推荐
相关项目推荐