Simple Web Scraping with Home Assistant

Поделиться
HTML-код
  • Опубликовано: 21 окт 2024

Комментарии • 96

  • @EnricAragorn
    @EnricAragorn 6 месяцев назад +1

    Que gustazo haber descubierto tu canal! Un poco de HA para los avanzados!

  • @enriqueronda7239
    @enriqueronda7239 11 месяцев назад +1

    Muy buen video. Al grano y sin irte por las ramas y práctico para que lo entendamos todos. Gracias.

  • @diegomarbar7249
    @diegomarbar7249 17 дней назад +1

    Buen video! Gracias por compartirlo!

  • @juanantonio7155
    @juanantonio7155 11 месяцев назад +4

    Me he quedado con la boca abierta... que buen video, que novedoso, pero que.... lo de siempre enhorabuena y muchas gracias...

    • @JorgeMoreno
      @JorgeMoreno 11 месяцев назад

      Totalmente de acuerdo. Excelente video, mejor contenido y de gran utilidad!

  • @franciscoromero1869
    @franciscoromero1869 11 месяцев назад +7

    Muy interesante. Gracias por compartirlo.

    • @franciscoromero1869
      @franciscoromero1869 11 месяцев назад +2

      El canal crece rápidamente y eso me alegra porque tienes muy buen contenido. Ya le he dado utilidad al vídeo. Gracias

  • @ferradio6211
    @ferradio6211 11 месяцев назад +3

    Contenido práctico, innovador, bien explicado. Cada vez que RUclips me avisa de un video tuyo me alegras el día. Muchas gracias.

    • @lachozadigital
      @lachozadigital  11 месяцев назад +1

      Otro punto a favor de los sábados entonces :)

  • @Tonigir
    @Tonigir 11 месяцев назад +1

    Brutal, que bueno. Habia oido esa integracion pero no le presté atención.
    Habrá que sacarle partido.

  • @luisinigo5572
    @luisinigo5572 10 месяцев назад

    Que bueno, no sabia que podía hacerse eso con Home Assistant.
    Gracias por el vídeo. Ya tienes un suscriptor más!

    • @lachozadigital
      @lachozadigital  10 месяцев назад

      Con HA básicamente se puede hacer de todo ;)
      Bienvenido al canal.

    • @luisinigo5572
      @luisinigo5572 9 месяцев назад

      @@lachozadigital intenté hacerlo, y con tu ejemplo funciona genial, pero con otras webs no consigo q salga el valor en el sensor. ¿depende de como esté programada la web? Gracias

    • @lachozadigital
      @lachozadigital  9 месяцев назад +1

      @@luisinigo5572 Sí, depende de varios factores. Hay webs que tienen CAPTCHAs (sistema anti bot) que bloquean todo el tipo de scraping y hay que ir a por técnicas más avanzadas que requieren de conocimientos de programación.

  • @Xesquy
    @Xesquy 11 месяцев назад +1

    Un video super interesante que no había visto en otro canal y muy bien explicado, gracias

  • @pericodelospalotes2426
    @pericodelospalotes2426 11 месяцев назад +2

    Hola. Me gusta tu forma de explicar las cosas. Ya tienes un nuevo suscriptor. Mil gracias.

  • @carlosgallego1076
    @carlosgallego1076 11 месяцев назад +2

    Buenísimo. Enhorabuena por el video

  • @salvadorbp8517
    @salvadorbp8517 11 месяцев назад +1

    Me lo apunto. Muy interesante

  • @JoseAGracia
    @JoseAGracia 11 месяцев назад +1

    Muy bien vídeo. Gracias otra vez. Las opciones que dejas abiertas para rastrear webs con precios son muy interesantes.

    • @lachozadigital
      @lachozadigital  11 месяцев назад

      El scraping da muchísimo juego la verdad. Si bien un componente específico siempre va ir mejor, para algún apaño rápido puede ser más que interesante.

  • @alrodgir
    @alrodgir 11 месяцев назад +1

    Te acabo de descubrir, muy buenos videos y bastante interesantes. #Enhorabuena 👏👏👏
    Suscrito 👍

    • @lachozadigital
      @lachozadigital  11 месяцев назад

      Me alegro que te guste, aunque al principio había leído «me acabo de desuscribir» y me he rayado pensado en qué malo tenía el vídeo... Maldita dislexia...
      En 23h, vídeo nuevo ;)

  • @paulino71
    @paulino71 11 месяцев назад +1

    Miguel, el video genial, muchas gracias, un saludo 👏👏👍👍

  • @Kukufato
    @Kukufato 11 месяцев назад +1

    Brutal!!😳 y además perfectamente explicado. Muchas gracias

    • @lachozadigital
      @lachozadigital  11 месяцев назад +2

      Me alegro que quede claro y que sea útil.

  • @janvan5872
    @janvan5872 11 месяцев назад +1

    Muy interesante, útil y práctico. Muchas gracias 🙂

    • @lachozadigital
      @lachozadigital  11 месяцев назад +1

      Un placer. Si se te ocurre alguna idea interesante con el scraping no dudes en compartirla

  • @sebastianpannocchia177
    @sebastianpannocchia177 11 месяцев назад

    Amigo, la verdad que tu contenido es de lo mas interesante, y tu forma de explicar es súper correcta!! Sigue así! Saludos!!!

    • @lachozadigital
      @lachozadigital  11 месяцев назад

      Me alegro. Aunque en este vídeo mi pronunciación, ya de por sí «mú andaluza», con la nariz taponada no tenía claro si se me entendía bien o no.

  • @franciscojgarciagamez4506
    @franciscojgarciagamez4506 11 месяцев назад +1

    Genial gracias, buenísimo.

  • @alejandrolopez7886
    @alejandrolopez7886 11 месяцев назад +1

    Me encanta tu canal.. me encantaría un vídeo sobre cámaras. Tengo Home Assistant pero lo tengo todo gestionado desde HomeKit porque no puedo sacar de ahí mis 3 cámaras. Las Aqara G2H Pro que van genial pero son son compatibles con Home Assistant. Sería genial un vídeo recomendando una cámara que funcione bien y se vea FLUIDA. Las que he visto la imagen va a golpes. 😱

    • @lachozadigital
      @lachozadigital  11 месяцев назад

      En general, cualquier cámara con soporte ONVIF debería funcionar correctamente.
      Y como habrás visto, no soy muy de hacer reviews ni nada, aún así, añado a la lista un vídeo sobre cámaras «a mi estilo».

  • @proyectosmicropic
    @proyectosmicropic 11 месяцев назад

    ¡Qué chuladaaaa!, es superútil. Muchas gracias

  • @franaryuna9110
    @franaryuna9110 9 месяцев назад +1

    buenisimo

  • @Ad0lf030
    @Ad0lf030 11 месяцев назад +1

    Que bueno!!! 👏👏👏

  • @Meveller
    @Meveller 6 месяцев назад +1

    Brutal

  • @enriquef.l8084
    @enriquef.l8084 9 месяцев назад +1

    Hola, se podría hacer una consulta a web de esios para ver cuando el pvpc está por debajo de un precio kw/h y que nos avise. Si es asi podría ser un buen tema para un video.
    Gracias por tu canal.
    FELIZ AÑO

    • @lachozadigital
      @lachozadigital  9 месяцев назад

      Como poder de puede, pero veo más sencillo usar la integración oficial con HA.
      Ajustes, Dispositivo y Servicios, añadir y buscas PVPC.
      Además en la actualización del próximo miércoles van a añadir un par de opciones extras.

    • @lachozadigital
      @lachozadigital  9 месяцев назад

      En cuanto a hacer un vídeo sobre el tema, estoy esperando a que se aclare «bien bien» el tema del PVPC y la Indexada, porque a partir de mañana serán bastante diferentes.

  • @jalejandro0211
    @jalejandro0211 11 месяцев назад +1

    Excelenteee mil gracias antes daba muchas vueltas para hacer lo mismo!!!!😂
    Una pregunta. Cómo podríamos notificar solo el precio del aceite si bajo (no si subió) 😊

    • @lachozadigital
      @lachozadigital  11 месяцев назад +2

      Si quieres recibir notificaciones solo cuando baje, simplemente borra la automatización... No te engañes, no va a bajar...
      Bromas (dolorosas) a parte, en el trigger puedes poner como condición cuando el valor sea menor que el que te interese. Si quieres que «cuando baje, sea cual sea el anterior, pero que ahora sea menor», te encontrarás con el problema que si ahora sube 20c y al rato baja 10, te avisará (aunque sigue 10c más caro).
      Si aún así te interesa, una forma de hacerlo es con una condición tipo plantilla: {{ trigger.to_state.state | float < trigger.from_state.state | float }}
      Le indicamos que el valor nuevo (to_state) tiene que ser menor que el valor viejo (from_state)

    • @jalejandro0211
      @jalejandro0211 11 месяцев назад

      @@lachozadigitalperfecto voy a probar y te molesto si algo… la verdad quiero es hacer una notificación cuando el precio del dólar baje no cuando suba respecto a mi moneda. Pero con lo que me dices voy a revisar. Mil gracias. 🎉

  • @LuisCarlosMalo
    @LuisCarlosMalo 11 месяцев назад +1

    superinteresante!! gracias!!, que pena que no nos hayas mostrado como entrar a una web en la que debes logearte primero para ir al menú en cuestión. Se me ocurre webs que no ofrencen apis o integraciones como tal, pero que una vez logeado puedes ver datos.
    Otra opcion buena sería programar una automatización en HA, o NodeRed, para que vaya a una web, se logeé, vaya a un menú y haga clic en un botón. ¿eso es mucho pedir no?
    salu2

    • @lachozadigital
      @lachozadigital  11 месяцев назад +1

      Bufs, eso no sería hacer un vídeo, sería un canal entero. Requiere conocimientos de programación y bastantes temas web (manejo de cookies, localización de campos, envío de formularios, codificación de datos....).
      Si sale algún componente para controlar un navegador y grabar acciones (tipo Selenium), podría hacerse, de lo contrario, es más sencillo hacer un componente por web.

    • @LuisCarlosMalo
      @LuisCarlosMalo 11 месяцев назад

      Exacto algo tipo Selenium! @@lachozadigital

  • @urriurriurrri
    @urriurriurrri 11 месяцев назад +1

    Puede ser que en Amazon esto no funcione? En otras páginas sin problemas pero Amazon no me va

    • @lachozadigital
      @lachozadigital  11 месяцев назад +1

      Pues hace un tiempo lo usé sin problemas, pero ahora que lo has mencionado he vuelto probar y parece que han metido un CAPTCHA cuando detecta que la petición es «rara».
      Cachis... Si encuentro un rato investigaré un poco como evitarlo, que Amazon es un caso muy interesante.

  • @argentinomacrifuevidaltamb3772
    @argentinomacrifuevidaltamb3772 11 месяцев назад +1

    Excelente video, muy útiles ejemplos. Gracias

  • @joaquinroyo
    @joaquinroyo 7 месяцев назад +1

    Muy bueno el video. Muy útil. Gracias por todos los vídeos que haces. Tengo un problema con algún símbolo y me da error, podrías trascribir el comando , creo hice algo incorrecto.

    • @lachozadigital
      @lachozadigital  7 месяцев назад

      ¿A que comando te refieres exactamente?

    • @joaquinroyo
      @joaquinroyo 7 месяцев назад

      @@lachozadigital A el comando para eliminar los valores que no sean números o punto. {{ value....

    • @lachozadigital
      @lachozadigital  7 месяцев назад

      ​@@joaquinroyo Si es para el calcular el precio, sería {{ value | replace(",", ".") | regex_replace("[^0-9.]", "") }}

    • @joaquinroyo
      @joaquinroyo 7 месяцев назад

      @@lachozadigital Es para sacar un valor de una sonda de humedad, de un programador de riego y el valor sale en la página web, quiero hacer alguna automatizacion con esos valores

    • @lachozadigital
      @lachozadigital  7 месяцев назад

      @@joaquinroyo Inicialmente si consigues capturar el valor, esa plantilla debería valerte también, ya dependerá de como esté formateados los datos.
      Recuerda que si la web requiere identificación de usuario y contraseña no servirá este sistema. Tendrías que mirar el vídeo de REST.

  • @Eslovy
    @Eslovy 11 месяцев назад +2

    Eres la repanocha!

  • @miguelestevezb
    @miguelestevezb 11 месяцев назад

    Miguel, mola tu estilo. Sabrías decirnos cada cuanto tiempo HA refresca la información?, no necesito saber cuando cambia (eso ya lo explicas muy bien) , solo cada cuanto tiempo la refresca. Gracias!!👍

    • @miguelestevezb
      @miguelestevezb 11 месяцев назад

      Mejor todavía, podemos forzar que se actualice cada cierto tiempo?

    • @lachozadigital
      @lachozadigital  11 месяцев назад +1

      Buenas tocayo. De forma automática se actualiza cada 10 minutos, pero puedes forzar su actualización usando el servicio homeassistant.update_entity

  • @manmass
    @manmass 5 месяцев назад

    Gracias por el vídeo. Genial!! cómo podría momonitorizar una web si lo que quiero ver es algo que aún está por publicar? en mi caso es ver la web de un ayuntamiento las nuevas convocatorias de empleo. No se qué selector poner. Muchas gracias de antemano. Muy buenos vídeos!!

    • @lachozadigital
      @lachozadigital  5 месяцев назад

      Detectar algo «que ahora no está» es complicado. Seguramente tendrán un listado con las convocatorias actuales, algo muy sencillo es obtener el título de la última convocatoria, y cuando cambie, que te envíe una notificación con el nombre de la nueva.

    • @manmass
      @manmass 5 месяцев назад

      Gracias por la respuesta. Probare a ver cómo lo soluciono en cualquier caso muchas gracias.

  • @MrFuRi4
    @MrFuRi4 11 месяцев назад

    me parece brutal esta función, mira que llevo años con HA y desconocía de su existencia. Una pregunta, desde que se actualiza por ejemplo el precio del aceite hasta que se refresca en HA pasa mucho tiempo? tienes controlado lo que tarda? Enhorabuena por el video, muy bien explicado. saludosss

    • @lachozadigital
      @lachozadigital  11 месяцев назад

      El componente se actualiza cada 10 minutos. Si se configura a mano desde el yaml se puede especificar el tiempo, supongo que añadirán en algún momento dicha opción también a la interfaz gráfica.

  • @jesfernandezm
    @jesfernandezm 9 месяцев назад +1

    Muy interesante, aunque los ejemplos me funcionan, cuando intento cargar lo que me interesa no funciona. Seguiré probando.

    • @lachozadigital
      @lachozadigital  9 месяцев назад

      Esto es un scrapping sencillo. Funciona en webs que no tengan sistemas «anti scrapping», como pueden ser captchas invisibles y demás.

  • @jddlope666
    @jddlope666 11 дней назад

    Fenomenal vídeo, como todo el canal, muchas gracias por compartirlo. Me surge una duda concreta y otra más general. Si quisiera añadir texto en lugar de reemplazar, ¿qué expresión regular podría usar? Y en general, ¿dónde puedo consultar la sintaxis de expresiones regulares para HA (o YAML, no lo sé)? Gracias por adelantado y enhorabuena por el canal!

    • @lachozadigital
      @lachozadigital  11 дней назад

      Las expresiones regulares usadas en HA son «las normales», puedes buscar cualquier guía de expresiones regulares y te servirá. A mí me gusta mucho regex101.com/ dónde además puedes probarlas con distintos textos y extraer lo que te interese.
      Las expresiones regulares no «añaden» nada, solo permiten localizar textos siguiendo reglas. Para añadir la unidad el propio componente tiene esa función de unidad (el € lo añado yo en 10:08 , no lo extraigo de la web), si quieres añadirlo de otra forma, sería en el campo plantilla valor, después de las llaves puedes poner lo que quieras y será parte del valor, pero 11.0mm no es un valor numérico (tiene letras), debes generar solo 11.0 y poner el mm como unidad.

    • @jesus-tecnologia
      @jesus-tecnologia 10 дней назад

      @@lachozadigital Muchas gracias, ya lo he visto!

    • @jddlope666
      @jddlope666 5 дней назад

      @@lachozadigital Hola de nuevo, ¿me puedes recomendar alguna página donde aprender a usar el lenguaje YAML, programar templates, etc. (todo lo que hace falta para dominar bien Home Assistant)? Preferiblemente en español, si la hay. Lo que hayas usado para aprender tú también me vale. Gracias por adelantado!

    • @lachozadigital
      @lachozadigital  5 дней назад

      @@jddlope666 yaml como tal no tiene variables ni templates ni nada. Yaml solo ofrece como poner campos y valores. Lo demás es responsabilidad de Home Assistant que analiza y adapta el Yaml.
      Yo todo lo aprendí desde la propia web de Home Assistant, está un poco desordenado pero hay mucha información.

    • @jddlope666
      @jddlope666 4 дня назад

      @@lachozadigital Pues muchas gracias de nuevo, difícil me lo pones, entre mi inglés y mis limitaciones voy listo. Un saludo!

  • @enriqueronda7239
    @enriqueronda7239 11 месяцев назад

    Mi gozo en un pozo. Ayer lo probé y obtenía todos los datos sin problema. Hoy ya no, aparece como desconocido. ¿Depende de cómo esté construida la página el que accedas al dato o no?. Gracias

    • @lachozadigital
      @lachozadigital  11 месяцев назад

      Algunas webs cambian su estructura y el selector deja de funcionar, por lo que tienes que actualizarlo.
      Otro tema puede ser que tenga algún captcha y tras varias peticiones te hayan «código manía»

  • @Bato2000
    @Bato2000 8 месяцев назад

    Buenos dias, ¿sabes si se puede hacer lo mismo de la web de Recarga Pública Iberdrola? sale un mapa de los puntos de recarga y me gustaria hacer un sensor para saber si un punto de carga esta libre o ocupado. Ya que la propia aplicacion no lo permite
    Gracias

    • @lachozadigital
      @lachozadigital  8 месяцев назад +1

      Buenas.
      Para ese tipo de web este método no funciona, habría que usar el sistema REST, para el cual Home Assistant también tiene un componente.
      Algo más complicado, pero también conseguimos mejores resultados. Lo apunto para un futuro vídeo de «Scraping 2» o algo así para mitad-finales de febrero.

    • @Bato2000
      @Bato2000 8 месяцев назад

      @@lachozadigital te lo agradezco de verdad, el cargador siempre esta ocupado y no hay manera de pillarlo libre

  • @Bato2000
    @Bato2000 4 месяца назад

    Buenos días. Estaba pensando que podía usar este sistema para monitorizar. Sin mi conexión. Se cae. Haciendo una conexión por ejemplo a la página de Google, pero no he visto como cambiar la fecuencia de actualizacion de el web scrapping

    • @lachozadigital
      @lachozadigital  4 месяца назад +1

      Pensaba publicar el vídeo la semana que viene, pero venga, lo cambio por el de esta. Échale un ojo esta tarde ;)

    • @Bato2000
      @Bato2000 4 месяца назад

      @@lachozadigital que coincidencia 😅

    • @lachozadigital
      @lachozadigital  4 месяца назад +1

      Es que con las vacaciones, te vas de casa... Y te entra la paranoia...
      PD: Respondiendo a tu pregunta. El scan interval como tal no lo tienes disponible en la interfaz gráfica, pero como alternativa puedes crear una automatización que llame al servicio homeassistant.update_entity indicándole la entidad del scrape y así actualizar al ritmo que quieras.

  • @javierfernandez-ck1jw
    @javierfernandez-ck1jw 11 месяцев назад

    Hola, he estado haciendo pruebas para comprobar la diferencia de precio en algunos hipermercados (en el aceite de oliva virgen extra lo de la diferencia es un sarcasmo, viva el oligopolio) y me pasa que no consigo sacar ningún precio de Mercadona. SI alguien lo ha conseguido le pido que indique cómo lo ha hecho. Gracias.

    • @lachozadigital
      @lachozadigital  11 месяцев назад +1

      Mercadona usa un tipo de web llamado «one-page» dónde tu navegador va generando la web. Desgraciadamente ese sistema es bastante complejo de implementar con el componente Scrape, sería más bien con el componente REST, el cual es más complejo de utilizar pues debes tener conocimientos de APIs.

    • @javierfernandez-ck1jw
      @javierfernandez-ck1jw 11 месяцев назад

      @@lachozadigital Me lo imaginaba, voy a ver si a través de Node Red lo consigo. Por probar que no quede. Muchas gracias.

    • @javierfernandez-ck1jw
      @javierfernandez-ck1jw 11 месяцев назад

      Pues las pruebas no han tenido éxito, en Node Red saco los datos del precio de Día y Carrefour, como con Scrape, pero de Mercadona, na de na.

    • @lachozadigital
      @lachozadigital  11 месяцев назад

      @@javierfernandez-ck1jw la única opción es «atacar» la API Rest, y seguramente tengas que hacer una petición inicial para enviar el código postal y recoger la cookie la cual tendrás que enviar las peticiones posteriores.
      No lo veo especialmente trivial.

    • @javierfernandez-ck1jw
      @javierfernandez-ck1jw 11 месяцев назад

      @@lachozadigital Gracias de nuevo. No me veo especialmente capacitado ni con ganas para meterme en ese embrollo. Por cierto, aprovechando tu amabilidad y tus conocimientos, tengo un esp32 que le metí el firmware de wled y en un determinado momento dejó de funcionar, el caso es que quise volver a intalar el firmware y cuando le pulso el botón boot no hace absolutamente nada por lo que no puedo cargar nada. ¿Sabes si existe alguna posibilidad de solucionarlo o el esp32 va directamente a la papelera?