Я пытаюсь собрать некоторые исторические данные о выборах в Голландии. Ниже вы видите код, который я использовал. Мне все еще нужно выяснить, как повторить этот процесс для каждого «Gemeente», но моя главная проблема сейчас заключается в том, что я не могу очистить результаты выборов, которые содержатся в блоке (т. е. объект results
не фиксирует это). информация). Есть ли у вас какие-либо предложения о том, как действовать дальше? Спасибо.
rD <- rsDriver(browser = "firefox", port=4545L, verbose=F)
remDr <- rD[["client"]]
# Navigate to the URL
url <- 'https://www.verkiezingsuitslagen.nl/verkiezingen/detail/TK19250701/663214'
remDr$navigate(url)
dropdown1 <- remDr$findElement(using = 'id', value = "2")
dropdown1$clickElement()
dropdown2 <- remDr$findElement(using = 'id', value = "3")
dropdown2$clickElement()
option <- remDr$findElement(using = 'xpath', "/html/body/main/div/div/div[2]/div[1]/div/div[2]/div/select/option[2]")
option$clickElement()
results <- remDr$findElement(using = 'class name', value = "whitebox")
Все данные хранятся в серии файлов JSON, поиск осуществляется на вкладке сети в инструментах разработчика вашего браузера.
Приведенный ниже код выведет список региональных кодов и получит файл результатов.
library(dplyr)
library(jsonlite)
#the regional codes are stored here;
codes <- jsonlite::fromJSON("https://www.verkiezingsuitslagen.nl/verkiezingen/StemmingChartUitslagDataJson?stemmingId=10778")
codes <- codes$UitslagPerRegio
#election results are store in JSON format that this base URL
baseURL <- "https://www.verkiezingsuitslagen.nl/verkiezingen/detailJson/TK19250701/"
#for the town of Goor
regionCode <- codes[codes$RegioNaam= = "Goor", ]$StemregioId
#results are store in a complex list here:
jsonlite::fromJSON(paste0(baseURL, regionCode))
Спасибо за предложение, где я могу найти API на веб-странице?