Hello. I am trying to make scrape sensors for current Euribor values, but I can’t get the selector right.
- platform: scrape
resource: https://www.euribor-rates.eu/pt/
name: Euribor (3 meses)
select: "#mm-1 > div.Site.js-stickybit-parent > div.Site-container > div.Site-body > div > div:nth-child(1) > div > div.card-body > table > tbody > tr:nth-child(3) > td.text-right"
unit_of_measurement: 'EUR'
scan_interval: 7200
value_template: '{{ value.replace(",", ".") }}'
I copied the selector from Google Chrome, but all I get is “unknown” value".
Can someone help, please? Thanks in advance
Well, I managed to get the correct selector using Firefox, so for anyone that is interested in this, here goes:
sensor:
- platform: scrape
resource: https://www.euribor-rates.eu/pt/
name: Euribor (1 week)
select: ".table > tbody:nth-child(1) > tr:nth-child(1) > td:nth-child(2)"
unit_of_measurement: '%'
scan_interval: 7200
value_template: '{{ value.split(" ")[0].replace(",", ".") }}'
unique_id: euribor_1week
- platform: scrape
resource: https://www.euribor-rates.eu/pt/
name: Euribor (1 month)
select: ".table > tbody:nth-child(1) > tr:nth-child(2) > td:nth-child(2)"
unit_of_measurement: '%'
scan_interval: 7200
value_template: '{{ value.split(" ")[0].replace(",", ".") }}'
unique_id: euribor_1month
- platform: scrape
resource: https://www.euribor-rates.eu/pt/
name: Euribor (3 months)
select: ".table > tbody:nth-child(1) > tr:nth-child(3) > td:nth-child(2)"
unit_of_measurement: '%'
scan_interval: 7200
value_template: '{{ value.split(" ")[0].replace(",", ".") }}'
unique_id: euribor_3months
- platform: scrape
resource: https://www.euribor-rates.eu/pt/
name: Euribor (6 months)
select: ".table > tbody:nth-child(1) > tr:nth-child(4) > td:nth-child(2)"
unit_of_measurement: '%'
scan_interval: 7200
value_template: '{{ value.split(" ")[0].replace(",", ".") }}'
unique_id: euribor_6months
- platform: scrape
resource: https://www.euribor-rates.eu/pt/
name: Euribor (12 months)
select: ".table > tbody:nth-child(1) > tr:nth-child(5) > td:nth-child(2)"
unit_of_measurement: '%'
scan_interval: 7200
value_template: '{{ value.split(" ")[0].replace(",", ".") }}'
unique_id: euribor_12months
Good scrapping!
3 Likes
mauro_mars
(Maurício Martins)
December 30, 2022, 8:07am
3
That is very useful. I was looking for that.
Thanks from PT
1 Like
If you donot want to scrape then you could also do a REST with this api
Interest Rate API - API Ninjas (api-ninjas.com)
EDIT: I forgot to mention that this is NOT for free ( I paid this once a while back as it has some funny API)
peixinho06
(Fábio Filipe Peixinho Borges)
September 20, 2023, 1:51pm
5
Can you help with configuring the new version of homeasssistant ?
This one works for me, in this case, Euribor 6 months.
You can adapt from the code above, in the solution, to the rate you want.