Ściągam dane ze strony otodom.
#instalacja biblioteki rvest
install.packages("rvest")
library(rvest)
##link z ogloszeniem
url_otodom<-'https://www.otodom.pl/oferta/nowe-mieszkanie-przy-porcie-praskim-ul-wrzesinska-ID3YoPi.html#6c436353d3'
##odczyt kodu strony
otodom<-read_html(url_otodom)
Większość interesujących mnie danych jest zapisana w formie list (znaczniki html < ul > i < li >).
Czytam je jako html_text. Czy można ewentualnie jako coś innego?
szczegoly <- otodom %>%
html_nodes("section.section-overview") %>% html_nodes("li") %>% html_text()
Wynik jest taki:
szczegoly
[1] "Powierzchnia: 43,18 m²" "Liczba pokoi: 2" "Rynek: wtórny"
[4] "Rodzaj zabudowy: apartamentowiec" "Piętro: 2" "Liczba pięter: 8"
[7] "Materiał budynku: żelbet" "Okna: plastikowe" "Ogrzewanie: miejskie"
[10] "Rok budowy: 2019" "Stan wykończenia: do wykończenia" "Forma własności: pełna własność"
[13] "Dostępne od: 2019-04-12"
Po pierwsze chciałbym je oczyścić pod późniejsze utworzenie dataframe lub table (podzielić w miejscu dwukropka, to co przed nim do header, to co po nim wartosc), ale nie wiem jak to najlepiej zrobić. Biblioteka stringr lub stringi i str_extract?
Druga sprawa jest taka, że lista zawiera 13 elementów, ale może ich być 15. Jak odczytując dopasować te co są podane do możliwych?
Chodzi o to, że różne ogłoszenia mogą mieć różne wypełnione i czytając chcę je dobrze dopasować.
Tu lista możliwych do wypełnienia przez ogłoszeniodawcę:
Powierzchnia
Liczba pokoi
Rynek
Rodzaj zabudowy
Piętro
Liczba pięter
Materiał budynku
Okna
Ogrzewanie
Rok budowy
Stan wykończenia
Czynsz
Forma własności
Dostępne od
Typ ogłoszeniodawcy
Będę wdzięczny za radę i pomoc.