Aide pour récupérer données site web

Bonjour,
J’essaie de récupérer une donnée d’un site web pour m’en faire un sensor.
Sur le site :
https://www.calendriergratuit.fr/calendrier-lunaire-2023.html

Il y a la phrase :
La lune est montante

C’est cette information que je souhaite récupérer (pour savoir si la lune est montante ou descendante).

Home assistant a l’intégration scrape
https://www.home-assistant.io/integrations/scrape/

J’ai essayé de m’en servir, mais que faut il mettre dans l’intégration :
Defines what tag to search for. Check Beautifulsoup CSS selectors for details

Merci de votre aide

Hello,

Tu as essayé ça ?

Voir même ça :

Bonsoir,
J’utilise multiscrape cest pareille que scrape de HA.
Tu peu t’aider du tuto de @Pulpy-Luke et tu adapte pour ton cas. Récupérer son prix de carburant (encore) avec le multiscraping

Et une explication pour savoir comment récupérer les informations Récupérer son prix de carburant (encore) avec le multiscraping - #7 par WarC0zes

1 « J'aime »

Merci pour les réponses.
@Adorem oui je l’ai installé, il me manque juste cette lune montante ou descendante qu’il n’y a pas dans cette intégration

@WarC0zes j’ai testé, mais quel est le lien a mettre pour avoir la réponse montante ou descendante.

Je me dit que sur excel, j’aurais fais simple, une recherche de la phrase La lune est montante si il la trouve il me donne montante, sinon, il me donne descendante.
Mais là je ne sais pas comment le rechercher

Ah oui vu ! Je viens de lire ça sur le site que tu veux scraper et effectivement je faisait cette erreur.

Ne pas confondre lune montante ou descendante (déclinaison lunaire) et lune croissante ou décroissante (phase lunaire).

image

tr:contains('Tendance') td

et le reste est par défaut

@Pulpy-Luke merci j’ai fais un copier coller et j’ai toujours inconnu :pensive: même après avoir redémarrer

Oups :upside_down_face:, à partir de cette url
https://www.pleine-lune.org/calendrier-lunaire-2023
sinon c’est

.pure-table [colspan] strong

Merci beaucoup, j’ai modifié car j’avais besoin de la trajectoire et non de la tendance.
Je vais faire la même chose pour le jardinage.
Merci beaucoup

Je n’ai plus qu’à trouver un thème pour le rendre joli. Pour l’instant, l’essentiel est que ça fonctionne

Bonjour
Ca m’intéresse grandement ta carte. J’ai parcouru le fil du post mais je n’ai pas compris quel conseil/intégration tu as suivi et ce que tu as mis dans l’intégration et ta carte. Tu pourrais faire un résumé avec partage de ta carte stp?
Merci

1 « J'aime »

Bonjour, j’ai mis l’intégration moon et suivis ce tuto avant de poster ma demande
https://forum.hacf.fr/t/carte-les-phases-de-la-lune-en-image/9768
J’ai juste mis les 4 entitées :

entities:
  - entity: sensor.moon_phases
  - entity: sensor.season
    name: Saison
  - entity: sensor.lune
    icon: mdi:moon-waning-crescen
  - entity: sensor.jardinage
    icon: mdi:shovel

Bonjour, je suis entrain de le faire en button-card vertical.
Est il possible de mettre une icône suivant le jour de jardinage ?

  - type: custom:button-card
    entity: sensor.jardinage
    name: 'Au jardin :'
    aspect_ratio: 4.2/1
    layout: icon_name_state2nd
    show_state: true
    show_name: true
    show_entity_picture: true
    size: 48%
    styles:
      card:
        - padding: 0.3em
        - '--mdc-ripple-color': rgb(31, 111, 235)
        - '--mdc-ripple-press-opacity': 0.5
      icon:
        - opacity: 1
      name:
        - font-size: 0.85em
        - white-space: normal
      state:
        - font-size: 0.85em
        - white-space: normal

Bonjour,
un exemple pour changer l’icone suivant l’état et de même pour name.

type: custom:button-card
entity: light.0x00158d0002e75493
name: |
  [[[
    if (states['light.0x00158d0002e75493'].state == 'on')
      return "cuisine on";
    return "cuisine off";
  ]]]
icon: >
  [[[
    if (entity.state === 'on') return 'mdi:flash';
    return 'mdi:flash-off';
  ]]]

icon change

1 « J'aime »

Merci @WarC0zes grâce à toi j’ai pu modifier mon code.

Encore quelques modifications

Voilà le résultat.

1 « J'aime »

Superbe carte !
Est ce qui serait possible que tu partage ton intégration / code de carte ? Merci beaucoup !

1 « J'aime »
type: custom:vertical-stack-in-card
cards:
  - type: custom:button-card
    entity: sensor.moon_phases
    name: 'Lune :'
    aspect_ratio: 4.2/1
    layout: icon_name_state2nd
    show_state: true
    show_name: true
    show_entity_picture: true
    size: 48%
    styles:
      card:
        - padding: 0.3em
        - '--mdc-ripple-color': rgb(31, 111, 235)
        - '--mdc-ripple-press-opacity': 0.5
      icon:
        - opacity: 1
      name:
        - font-size: 0.85em
        - white-space: normal
      state:
        - font-size: 0.85em
        - white-space: normal
  - type: custom:button-card
    entity: sensor.lune
    name: 'Type de Lune :'
    icon: mdi:moon-waning-crescent
    aspect_ratio: 4.2/1
    layout: icon_name_state2nd
    show_state: true
    show_name: true
    show_entity_picture: true
    size: 48%
    styles:
      card:
        - padding: 0.3em
        - '--mdc-ripple-color': rgb(31, 111, 235)
        - '--mdc-ripple-press-opacity': 0.5
      icon:
        - opacity: 1
        - color: '#D4AF37'
      name:
        - font-size: 0.85em
        - white-space: normal
      state:
        - font-size: 0.85em
        - white-space: normal
  - type: custom:button-card
    entity: sensor.jardinage
    icon: |
      [[[
      var jardinage = states['sensor.jardinage'].state.toLowerCase();
      if (jardinage.startsWith('jour fruit')) return 'mdi:fruit-cherries';
      else if (jardinage.startsWith('jour racine')) return 'mdi:carrot';
      else if (jardinage.startsWith('jour fleur')) return 'mdi:flower-tulip';
      else if (jardinage.startsWith('jour feuille')) return 'mdi:leaf';
      else return 'mdi:bed';
      ]]]
    name: 'Au jardin :'
    aspect_ratio: 4.2/1
    layout: icon_name_state2nd
    show_state: true
    show_name: true
    show_entity_picture: true
    size: 48%
    styles:
      card:
        - padding: 0.3em
        - '--mdc-ripple-color': rgb(31, 111, 235)
        - '--mdc-ripple-press-opacity': 0.5
      icon:
        - opacity: 1
        - color: |
            [[[
            var jardinage = states['sensor.jardinage'].state.toLowerCase();
            if (jardinage.startsWith('jour fruit')) return 'red';
            else if (jardinage.startsWith('jour racine')) return 'orange';
            else if (jardinage.startsWith('jour fleur')) return 'pink';
            else if (jardinage.startsWith('jour feuille')) return 'green';
            else return 'grey';
            ]]]
      name:
        - font-size: 0.85em
        - white-space: normal
      state:
        - font-size: 0.85em
        - white-space: normal
  - type: custom:button-card
    entity: sensor.saison
    button-card-background-color: rgba(0,0,0,0)
    icon: |
      [[[
      var saison = states['sensor.saison'].state.toLowerCase();
      if (saison === 'printemps') return 'mdi:flower';
      else if (saison === 'été') return 'mdi:white-balance-sunny';
      else if (saison === 'automne') return 'mdi:leaf';
      else return 'mdi:snowflake';
      ]]]
    color: |
      [[[
      var saison = states['sensor.saison'].state.toLowerCase();
      if (saison === 'printemps') return 'rgb(66, 134, 244)';
      else if (saison === 'été') return 'rgb(255, 193, 7)';
      else if (saison === 'automne') return 'rgb(240, 150, 9)';
      else return 'rgb(0, 191, 255)';
      ]]]
    name: 'Saison :'
    aspect_ratio: 4.2/1
    layout: icon_name_state2nd
    show_state: true
    show_name: true
    show_entity_picture: true
    size: 48%
    styles:
      card:
        - padding: 0.3em
        - '--mdc-ripple-color': rgb(31, 111, 235)
        - '--mdc-ripple-press-opacity': 0.5
      icon:
        - opacity: 1
        - color: |
            [[[
            var saison = states['sensor.saison'].state.toLowerCase();
            if (saison === 'printemps') return 'rgb(0,255,127)';
            else if (saison === 'été') return 'rgb(255, 193, 7)';
            else if (saison === 'automne') return 'rgb(240, 150, 9)';
            else return 'rgb(0, 191, 255)';
            ]]]
      name:
        - font-size: 0.85em
        - white-space: normal
      state:
        - font-size: 0.85em
        - white-space: normal
        - color: |
            [[[
            var saison = states['sensor.saison'].state.toLowerCase();
            if (saison === 'printemps') return 'rgb(66, 134, 244)';
            else if (saison === 'été') return 'rgb(255, 193, 7)';
            else if
1 « J'aime »