Obligatorische Heads-up:
Es ist nicht wirklich klar, ob die Website Schaben ermöglichen, die Legal Notice
sagt Genehmigung für die Vervielfältigung von Dokumenten auf dieser Website ausschließlich für den persönlichen Gebrauch veröffentlicht gewährt wird und nicht für kommerzielle Zwecke, vorausgesetzt, Der Name der Quelle wird richtig angezeigt.
Verwenden Sie dies unter Berücksichtigung ihrer Nutzungsbedingungen.
Wenn Sie die Netzwerkaktivität überprüfen, wenn Sie auf diesen Link klicken, können wir sehen, dass die Webseite eine POST
Anfrage an https://myterna.terna.it/SunSet/Public/Pubblicazioni/List
sendet. Wir können sowohl die angeforderten headers
als auch die params
senden.
par <- '{"draw":1,"columns":[{"data":0,"name":"","searchable":true,"orderable":true,"search":{"value":"","regex":false}},{"data":1,"name":"","searchable":true,"orderable":true,"search":{"value":"","regex":false}},{"data":2,"name":"","searchable":false,"orderable":false,"search":{"value":"","regex":false}},{"data":3,"name":"","searchable":false,"orderable":false,"search":{"value":"","regex":false}},{"data":4,"name":"","searchable":false,"orderable":false,"search":{"value":"","regex":false}},{"data":5,"name":"","searchable":false,"orderable":false,"search":{"value":"","regex":false}},{"data":6,"name":"","searchable":false,"orderable":false,"search":{"value":"","regex":false}},{"data":7,"name":"","searchable":false,"orderable":false,"search":{"value":"","regex":false}}],"order":[],"start":0,"length":10,"search":{"value":"","regex":false},"filter":{"IdSezione":"52767620567B3077E053A8829B0A9478","Titolo":"","Id":"","ExtKey":"","TipoPubblicazione":"","SheetName":"","Anno":"2017","Mese":"7","Giorno":"","DataPubblicazione":"","TipoDatoPubblicazione":""},"details":{}}'
Dies ist json
, können wir ihre Werte analysieren und ändern, wenn wir wollen (obwohl ich ein paar verschiedene Filter ausprobiert und es funktioniert nicht reagieren viel)
par <- jsonlite::fromJSON(par)
par$filter$Mese <- '7'
Was Header nur X-Requested-With:MLHttpRequest
wirklich ist benötigt, damit wir es darauf reduzieren können.
response <- POST('https://myterna.terna.it/SunSet/Public/Pubblicazioni/List',
add_headers('X-Requested-With' = 'XMLHttpRequest'),
body = par,
encode = 'json')
json_data <- content(response)$data
Diese Liste gibt, dass wir sicher auf einen Datenrahmen für die bequeme Nutzung verwandeln können:
df <- data.frame(matrix(unlist(json_data), nrow=length(json_data), byrow=TRUE))
head(df, 2)
#> X1
#> 1 SbilanciamentoAggregatoZonale_SegnoGiornaliero_Orario_20170709
#> 2 SbilanciamentoAggregatoZonale_SegnoGiornaliero_QuartoOrario_20170709
#> X2
#> 1 /Date(1499680800000)/
#> 2 /Date(1499680800000)/
#> X3
#> 1 <div class="actions detail-inline export" data-pk="53F4A57FCB70304EE0532A889B0A7758"></div>
#> 2 <div class="actions detail-inline export" data-pk="53F4A57FCB6D304EE0532A889B0A7758"></div>
#> X4 X5 X6
#> 1 53F4A57FCB70304EE0532A889B0A7758 25 SEGNO_MACROZONALE_ORARIO
#> 2 53F4A57FCB6D304EE0532A889B0A7758 25 SEGNO_MACROZONALE_QUARTO_ORARIO
#> X7 X8
#> 1 Segno Giornaliero Orario
#> 2 Segno Giornaliero Quarto Orario
Danke @GGamba, haben Sie den Punkt! Ich denke, es gibt nicht so viel zu diesem Thema im Internet, also ist Ihr Beitrag definitiv nützlich! –