Dzięki wielkie, sprawdzę. @Marek, mam jeszcze jedną sprawę. Wpis .value zwraca trzy wartości tj. sprzedaż, kupno i średni kurs.
Wiesz może jak za pomocą value_template sczytać tylko wartość "sprzedaż "?
Za nic nie mogę załapać logiki działania CSS Selector.
Jeśli jest więcej takich samych tagów CSS, to możemy użyć parametru index:
Na tej stronie interesująca nas wartość jest pierwsza index: 0, więc ten parametr można pominąć, bo domyślnie ma on wartość 0. Jak chcesz odczytywać kolejne, to zmieniasz tylko index.
No właśnie o tym pisałem wcześniej. Na tej stronie, chyba działają jakieś skrypty, które modyfikują te wartości, już po jej załadowaniu. W tym wypadku scrape raczej nie zadziała.
Według dokumentacji, scrape to prosty mechanizm który ładuje kod HTML strony i ją przeszukuje. Jak sobie zobaczysz kod źródłowy tej strony, to widać właśnie 3,6359 którą to poprawnie wyciąga.
Dla przykładu tu jest działający kod na stronę cinkciarz.pl. Odświeżanie co 5 minut. Ale nie wiem, czy te strony nie będą blokowały takiej metody wyciągania danych. Do tego celu takie serwisy udostępniają API i to najczęściej płatne.
@tikooo W scrape podajesz konkretny adres url strony, którą przeszukujesz. Z tego co wiem tunein dla każdej stacji ma inny adres url, więc ta metoda będzie raczej mało skuteczna. Trzeba by robić oddzielne sensory dla każdej stacji radiowej.
@rafkan w narzędziach developerskich F12 jest poprawna wartość, ale jak zobaczysz źródło strony przez Ctrl+U to jest 3,6359. Ja nie wiem z czego to wynika, może ktoś mądrzejszy mnie oświeci
Sprawdź CTRL + F5 w przeglądarce, to wysyła nowy request (zapytanie) do serwera HTTP. Jak widać najpierw na tej stronie pojawia sie kurs 3,6359 po czym na zakończenie przetwarzania tego zapytania pojawia się “aktualny” kurs widoczny na stronie, to wynika z dynamicznych skryptów na tej stronie.
Źródło strony to nie to samo co dostajesz jako efekt w narzędziach developerskich F12, zobacz sobie w narzędziach w zakładce.
Jeżeli byłoby potrzebne więcej kursów/par, można sięgnąć do zbiorczego endpointu https://user.walutomat.pl/api/public/marketPriceVolumes/
Przy czym tu jest mały haczyk - “zbiorczy” endpoint waży jakieś 400kB, podczas gdy poszczególne w/w endpointy jak użyjemy brief=true mają po ok 4kB. Więc biorąc tylko trzy co minutę będziemy ciagnąć 3*4kB=12kB zamiast 400kB z pełnego stanu giełdy.