Obter dados de site

Olá a todos, estou com o hass rodando no virtual box e gostaria caso alguém saiba de uma forma de obter informações de um site especifico para um card.
No caso o site seria este:
https://site.sanepar.com.br/mapa-rodizio-abastecimento-curitiba-rmc

E eu insiro meu endereço para ele realizar a busca e me retornar informações.

Alguém saberia como fazer para obter esta informações?

obrigado.

Vc pode usar o componente MultiScraper, o pessoal usa pra pegar informações de sites!

Criando sensores com o componente MultiScrape! Sensores de Futebol e Formula 1! - Configurações - Fórum Home Assistant Brasil

1 Like

Oi,

Infelizmente o scrapper não é tão simples já que vc explicitamente tem que digitar a sua rua/bairro em uma janelinha de um javascript. Mas eles tem um aplicativo mobile, então é bem provavel que tenha uma API escondida em algum canto. Escrevi pra eles solicitando informação. Eu sou da opinião que empresa pública tinha que por padrão ter APIs públicas.

1 Like

Obrigado pela ajuda, eu olhei o MultiScrape e percebi que não seria tão simples assim mesmo. Obrigado pela ajuda e pela dica da API

A SANEPAR me respondeu dizendo que a API é só pro aplicativo deles. Ou seja, não disponibilizam. Mas com a ajuda de um amigo, eu dei uma investigada, achei algumas coisas e pretendia dar um melhorada nisso, mas o tempo não permitiu. Mas compartilho aqui pois talvez possa ser útil: se vc usar as ferramentas de desenvolvedor do firefox/chrome vc consegue descobrir o código da sua área (no exemplo abaixo é o “CODEPE” com valor 2700040) e dai montando uma URL como a seguinte:

https://services1.arcgis.com/46Oage49MS2a3O6A/arcgis/rest/services/Mapa_Rodizio_Abastecimento_RMC_View/FeatureServer/2/query?f=json&where=CODOPE%3D'00040'&returnGeometry=false&spatialRel=esriSpatialRelIntersects&outFields=OBJECTID%2CRETOMADA%2CNORMALIZACAO%2CLOCALIDADE%2CPERIODO%2COBSERVACAO%2CINICIO%2CCODOPE

Vc consegue baixar um JSON com todas as intervenções previstas para sua área. Foi aí que eu parei… tem que gastar um tempinho para percorrer o json e achar a intervenção na data de interesse.

Fiz isso em python e tenho pronto, alcança o mesmo resultado do JSON.
Mas o json seria o mais correto.

Segue o código, só colocar na pasta python_scripts e criar o sensor.

https://codeshare.io/6pqAOQ

image

image

Só um ponto importante, no meu caso ele mostra no site da sanepar 2 dias de rodízio, mas oficialmente fica só 1.

então no código eu diminui a data final (que mostra no site) - 1.

Se no seu caso for 2 dias realmente só tira essa subtração do código.

2 Likes