Ajuda com sensor scrape e multiscrape sensor para ir buscar preços combustiveis

boas, necessito de ajuda para extrair dados (preços de combustíveis ) para o sensor scrape do HA, da pagina:

Eu quero extrair o preço da Gasolina 95 Simples , o preço da Gasolina 95 + and por ai fora (os 5 preços dos combustiveis)
O que eu fiz foi na pagina botão direito do rato, inspeçionar em cima do preço que quero:
e depois botao direito → copy → copy selector
e mostra isto:
#station > div.box.main > div.precos > div:nth-child(1) > div.valor > div
e marca com o retangulo preço na pagina. (que esta correcto)

O problema é que quando coloco no Homeassistant, nao apareçe nada.
Se eu testar no css selector text (extension of chrome), funciona!

já tentei nas duas plataformas ( scrape e na multiscrape), mas nao funcionou. ( nao tenho erros nos logs), mas a variavel nas entidades aparece como vazia.

codigo da minha configuraçao.yaml:

- platform: scrape  #sensor para ir buscar preço combustivel site mais gasolina:
    name: gasol95 #preço_gasolina_95_repsol_vainhos_cresche
    resource: https://www.maisgasolina.com/posto/2231/
    #select: "6wMTIxLjYzOQ=="
    #select: "div.encoded"
    #select: "div.preco"
    #select: "#station>div.box.main>div.precos>div:nth-child(1)>div.valor>div"
    select: "div:nth-child(1)>div.valor"
    headers:
      User-Agent: Mozilla/5.0

  #- platdorm: scrape
    #name: gasolprec #preço_gasolina_95_repsol_vainhos_cresche
    #resource: https://www.maisgasolina.com/posto/2231
    #select: "6wMTIxLjYzOQ=="
    #select: "div.encoded"
    #select: "#station > div.box.main > div.precos > div:nth-child(1) > div.valor > div"
    #select: "div.preco"
    #headers:
      #User-Agent: Mozilla/5.0

  - platform: multiscrape
    name: home assistant scraper
    resource: https://www.maisgasolina.com/posto/2231/
    #scan_interval: 30
    selectors:
      version:
        name: gasolprecomul
        select: '#station > div.box.main > div.precos > div:nth-child(1) > div.valor > div'
        #value_template: '{{ (value.split(":")[1]) }}'
      releasedate:
        name: gasolprecomul2
        select: "div:nth-child(2)>div.valor"
    headers:
      User-Agent: Mozilla/5.0

Alguém me pode ajudar ?
já nao sei o que fazer mais.
Obrigado.
:wink:

Olá! Você já conseguiu? Eu acredito que se vc não avançou mais que isso é pq realmente não tem como, ou eu pelo menos não sei como burlar. Pelo que eu entendi da página, o HTML dela está com os valores codificados. Você pode ver isso se apertar CTRL+U na página e procurar por “Gasolina 95 Simples”, o div está com a classe “encoded”, e ali vc não ver o valor da gasolina, isso pq o desenvolvedor codificou os valores assim: data-price="oMMjExLjY2OQ=="
No mínimo vc teria que decodificar isso.

Olá Henrique,

Tudo bem? O pessoal criou um tutorial para time de futebol e F1 com o Multiscrape, está funcionando bem, talvez lhe ajude a criar o seu.

Att,

Rafael

1 curtida

Olá eu uso esse para buscar o preço médio no site da petrobras

Espero que ajude

https://precos.petrobras.com.br/web/precos-dos-combustiveis/w/gasolina/sp

multiscrape:
  - resource: https://precos.petrobras.com.br/web/precos-dos-combustiveis/w/gasolina/sp
    name: gasolina sp
    scan_interval: 3600
    sensor:
      - unique_id: gasolina_custo
        name: Valor Médio Gasolina SP
        select: "#telafinal-precofinal"
        value_template: "{{ value }}"
        unit_of_measurement: R$
1 curtida