#'Scrape monthly Dailymotion statistics from socialblade.com
#'
#'@import rvest xml2 lubridate magrittr
#'
#'@param url will only work with https://socialblade.com/dailymotion/user/.../monthly links
#'
#'@keywords dailymotion
#'
#'@concept socialblade
#'@export
#'@examples
#'sbscrape_dailymotion("https://socialblade.com/dailymotion/user/tseries/monthly")
sbscrape_dailymotion<-function(url){
# require(rvest,quietly = TRUE)
# require(lubridate,quietly=TRUE)
tryCatch(
{
pipeit<-function(url,code){
read_html(url)%>%html_nodes(code)%>%html_text()
}
fl<-pipeit(url,
"#socialblade-user-content div div div:nth-child(2) div+ div")
fl<-fl[grepl("[0-9]",fl)]
fl<-gsub("[A-z]","",fl)
fl<-gsub("\n","",fl)
fl<-trimws(fl)
cv<-pipeit(url,
"#socialblade-user-content div div div~ div+ div div+ div")
dates<-c()
for(i in 1:30){
dates[i]<-Sys.Date()-i+1
}
dates<-rev(as_date(dates))
fl<-as.numeric(sapply(as.character(fl),
function(x) gsub(",","",x)))
cv<-as.numeric(sapply(as.character(cv),
function(x) gsub(",","",x)))
ern<-pipeit(url,"#socialblade-user-content div div div:nth-child(4)")
ern<-ern[sapply(ern,function(x)grepl("\\$",x))]
ern<-sapply(ern,function(x)gsub("\n","",x))
data.frame(Date=dates,"Culmulative Followers"=fl,"Culmulative Views"=cv,"Estimated Earnings"=ern)
},
error=function(error_message){
message("Error in sbscrape: Please enter valid url. ")
message("sbscrape will only work with https://socialblade.com/dailymotion/user/.../monthly links")
})
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.