私の最初の光沢のあるアプリを展開します -- ユーザーが html ファイルをアップロードし、それを解析して LinkedIn の共有/メンション/いいね! に関する情報を取得できるシンプルな html パーサー。
アプリはローカルで正常に実行され (デプロイ前にテスト済み)、Rstudio はデプロイでエラーを表示しません。ただし、shinyapps リンクを使用して実行すると、アップロードが完了していないように見え、何も出力されません。
現地での様子
アプリを開く
.html ファイルのアップロード
Shinyapps.io での表示
識別情報が含まれているため、ファイル名を編集しました。
コードは次のとおりです。
library(rvest)
library(shiny)
ui <- fluidPage(
# theme = "https://bootswatch.com/4/superhero/bootstrap.css",
title = "LinkedIn Report",
fluidRow(
column(12,
fileInput("infile", "Choose .html file",
accept = "text/html", multiple = F) )
),
fluidRow(
column(12,
tableOutput("savedLocation") )
),
fluidRow(
column(12,
tableOutput("parsedData") ),
column(8,
downloadButton("downloadData", "Download"))
)
)
server <- function(input, output){
dd <- reactive(input$infile)
output$savedLocation <- renderTable({
if(is.null(input$infile)){
return(data.frame(Elapsed = character(),
Time = character(),
Name = character(),
Action = character()))
}else{
return(dd())
}
})
actual_data <- reactive({
if(is.null(input$infile)){
asdad <- data.frame(Elapsed = character(),
Time = character(),
Name = character(),
Action = character())
}else{
notifications <- read_html(input$infile$datapath)
name_action <- gsub("\\n", "", notifications %>% html_nodes(".nt-card__text--3-line") %>% html_text())
tme <- trimws(gsub("\\n", "", notifications %>% html_nodes(".nt-card__time-ago") %>% html_text()))
action <- notifications %>% html_nodes(".nt-card__text--3-line strong") %>% html_text
nme <- trimws( sapply(1:length(name_action), function(z) gsub(action[z], "", name_action[z])))
asdad <- data.frame(Elapsed = tme, Time = elap(tme), Name = nme, Action = action)
}
return(asdad)
})
output$parsedData <- renderTable({ actual_data()})
output$downloadData <- downloadHandler(
filename = "yourdata.csv",
content = function(filename){ write.table(actual_data(), file = filename,
row.names = F, sep = ",")}
)
}
shinyApp(ui = ui, server = server)
これは、私が無料のアカウントを持っているという事実と関係がありますか? アップロード中のファイルのサイズは 420kb 未満です。
次の質問を見てきましたが、上記には対応していません。
Rstudio には、 httpsfileInput
://shiny.rstudio.com/articles/upload.html で見つけることができる同様の例があります。