在R中解码tinyurl以获得完整的url路径?

Gre*_*eak 13 url r

有没有办法解码R中的tinyURL链接,以便我可以看到他们实际引用的网页?

Ton*_*yal 16

下面是一个快速而肮脏的解决方案,但应该完成工作:

library(RCurl)

decode.short.url <- function(u) {
  x <- try( getURL(u, header = TRUE, nobody = TRUE, followlocation = FALSE) )
  if(class(x) == 'try-error') {
    return(u)
  } else {
    x <- strsplit(x, "Location: ")[[1]][2]
    return(strsplit(x, "\r")[[1]][1])
  }
}
Run Code Online (Sandbox Code Playgroud)

下面的变量'u'包含一个shortend url和一个常规url.

u <- c("http://tinyurl.com/adcd", "http://www.google.com") 
Run Code Online (Sandbox Code Playgroud)

然后,您可以通过执行以下操作来获得扩展结果.

 sapply(u, decode.short.url) 
Run Code Online (Sandbox Code Playgroud)

以上内容适用于缩短URL的大多数服务,而不仅仅是tinyURL.我认为.

HTH

Tony Breyal