Ich scraping eine Tabelle für eine Liste von IDs.Neue Zeilen an den data.frame in einer Schleife anhängen
Dies ist meine Liste:
dput(temp_data)
structure(list(tax_number = c("http://www.ujp.gov.mk/mk/prebaruvanje_pravni_lica/prikazi?edb=MK4020012521389",
"http://www.ujp.gov.mk/mk/prebaruvanje_pravni_lica/prikazi?edb=MK4026009507659",
"http://www.ujp.gov.mk/mk/prebaruvanje_pravni_lica/prikazi?edb=MK4013009503390",
"http://www.ujp.gov.mk/mk/prebaruvanje_pravni_lica/prikazi?edb=MK4026010510230",
"http://www.ujp.gov.mk/mk/prebaruvanje_pravni_lica/prikazi?edb=MK4080009506819",
"http://www.ujp.gov.mk/mk/prebaruvanje_pravni_lica/prikazi?edb=MK4066010500147",
"http://www.ujp.gov.mk/mk/prebaruvanje_pravni_lica/prikazi?edb=MK4026013516794",
"http://www.ujp.gov.mk/mk/prebaruvanje_pravni_lica/prikazi?edb=MK4020012520196",
"http://www.ujp.gov.mk/mk/prebaruvanje_pravni_lica/prikazi?edb=MK4020008505166",
"http://www.ujp.gov.mk/mk/prebaruvanje_pravni_lica/prikazi?edb=MK4020010511645"
)), .Names = "tax_number", row.names = c(NA, -10L), class = "data.frame")
Die Bibliotheken und Schleife im mit:
library(rvest)
library(xml2)
library(tidyr)
for (i in 1:nrow(temp_data)) {
temp_data_point <- temp_data[i, ]
file <- read_html(temp_data_point)
tables <- html_nodes(file, "table")
table1 <- html_table(tables[8], fill = TRUE)
table2 <- as.data.frame(table1)
table2 <- table2[15:24 , 1:2]
colnames(table2)[1] <- "variables"
colnames(table2)[2] <- "results"
temp_table <- spread(table2, variables, results)
temp[i, ] <- temp_table
return(temp)
}
Also im Grunde die Schleife wiederholt durch die Liste, um die Daten in dem temporären Objekt füllen, aber mein Der Code zeichnet nicht jede Iteration in einer separaten Zeile mit dem
temp[i, ] <- temp_table
auf die letzte Iteration.
Irgendwelche Ideen, wo ich es falsch mache?
P.S.
Ich habe vergessen zu erwähnen. Das Objekt temp ist ein Objekt, das außerhalb der Schleife erstellt wurde.
str(temp)
'data.frame': 1 obs. of 10 variables:
$ Адреса : chr "БУЛ.МАК.ПРОСВЕТИТЕЛИ 16"
$ Дејност : chr "Дејности на туристичките агенции"
$ Депонент банка: chr "ОХРИДСКА БАНКА А.Д. - ОХРИД"
$ ЕДБ : chr "MK4020012521389"
$ Жиро сметка : chr "000530000101546566"
$ Матичен број : chr "6823769"
$ Место : chr "ОХРИД"
$ Назив : chr "Трговско друштво за производство градеЖништво трговија услуги и угостителство АНТОНИО&БОЈАН ДООЕЛ увоз-извоз Охрид"
$ Правна форма : chr "Д.О.О.Е.Л. ДРУШТВО СО ОГРАНИЧЕНА ОДГОВОРНОСТ НА ЕДНО ЛИЦЕ"
$ Телефон : chr "075/414-585"
Es hat im Grunde die gleichen Spaltennamen und eine Dummy-Zeile.
wo haben Sie das Objekt 'Temp' erstellt? – Nate
Beachten Sie, dass 'colnames (table2) [1] <-" Variablen "; colnames (table2) [2] <- "results" 'kann geschrieben werden' names (table2) <- c ("variables", "results") '. – lmo
@NateDay Hallo. Ich habe gerade die Frage aktualisiert. Ich habe vergessen zu erwähnen, dass das temporäre Objekt außerhalb der Schleife erstellt wurde. – Prometheus