R에서 tinyURL 링크를 디코딩하여 실제로 어떤 웹 페이지를 참조 할 수 있는지 확인할 수 있습니까?완전한 URL 경로를 얻기 위해 R의 tinyurl을 디코딩 하시겠습니까?
13
A
답변
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])
}
}
변수 '유'아래 하나 개 shortend URL 및 한 일반 URL을 포함하고 있습니다.
u <- c("http://tinyurl.com/adcd", "http://www.google.com")
그러면 다음을 수행하여 확장 된 결과를 얻을 수 있습니다.
sapply(u, decode.short.url)
위의 내용은 tinyURL뿐만 아니라 URL을 줄이는 대부분의 서비스에서 작동합니다. 나는 생각한다. 토니 Breyal
1
R을 모르지만 일반적으로 tinyurl-url에 http 요청을해야합니다. 실제 URL을 사용하여 301 응답을 다시 받아야합니다.
0
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])
}
}
(u <- c("http://tinyurl.com/adcd", "http://tinyurl.com/fnqsh"))
(sapply(u, decode.short.url))
1
HTH
는 토니 Breyal의 코드를 사용하지만, 함수는 URL 리디렉션이 없었다 해당 URL에 대한 NA
값을 반환했습니다. Tony가 자신의 예에서 'google.com'을 표시했지만 Google은 어떤 경우에도 google.com의 현지화 된 버전으로 사용자를 리디렉션합니다.
decode.short.url <- function(u) {
x <- try(getURL(u, header = TRUE, nobody = TRUE, followlocation = FALSE))
if(class(x) == 'try-error') {
print(paste("***", u, "--> ERORR!!!!"))
return(u)
} else {
x <- strsplit(x, "Location: ")[[1]][2]
x.2 <- strsplit(x, "\r")[[1]][1]
if (is.na(x.2)){
print(paste("***", u, "--> No change."))
return(u)
}else{
print(paste("***", x.2, "--> resolved in -->", x.2))
return(x.2)
}
}
}
u <- list("http://www.amazon.com", "http://tinyurl.com/adcd")
urls <- sapply(u, decode.short.url)
관련 문제
- 1. R의 히브리어 "URL 인코딩"?
- 2. Windows 일괄 스크립트 URL 디코딩
- 3. Wireshark의 URL 디코딩
- 4. PHP - 완전한 url 파서 도움말
- 5. 자바에서 URL 디코딩
- 6. ASP.NET MVC URL 디코딩
- 7. jQuery를 사용하여 TinyURL을 생성하는 방법
- 8. 얻기 MD5 코드와 PHP에서 디코딩
- 9. 완전한 장고 URL 구성을 결정하십시오.
- 10. URL C#에서 JSON 디코딩
- 11. Node.js를 전달 프록시로 사용하지만 URL 경로를 변경 하시겠습니까?
- 12. 코드의 절대 URL 얻기
- 13. base64 문자열을 디코딩 하시겠습니까?
- 14. vimeo가 URL 경로를 어떻게 지정합니까?
- 15. 델파이에서 tinyurl을 생성하는 방법
- 16. 선택한 파일의 완전한 경로를 가져올 수 없습니다.
- 17. css 파일의 완전한 경로를 얻는 방법?
- 18. SharePoint 절대 사이트 URL 얻기
- 19. 제작을 위해 CSS에서 이미지 도메인/경로를 변경 하시겠습니까?
- 20. 상대 경로를 얻기 위해 javascript에서 물결표 경로를 전달하는 올바른 방법은 무엇입니까?
- 21. 플래시에서 디코딩 된 프레임 얻기 (FLVplayback)
- 22. UIImagepickerController에서 영화 URL 얻기
- 23. 현재 URL 얻기
- 24. Html 프로토 타입으로 디코딩 하시겠습니까?
- 25. PHP 동적 URL 쓰기 동적 메뉴 및 경로를 수용하기 위해
- 26. 리디렉션 URL 경로를 사용하여 톰캣 서블릿에 전달하기 위해 아파치/mod_proxy를
- 27. JavaScript를 사용하여 표준 URL 얻기
- 28. 의 ColdFusion URL 디코딩 확장 ASCII
- 29. 자바 스크립트 + 파이썬 URL 엔/디코딩 문제
- 30. 파일 경로를 R 함수에 전달 하시겠습니까?
토니, 당신은 두 개의 계정을 가지고 : 여기
내가 그 다루는 토니의 코드를 수정하는 방법입니다? –
@ JD-Long 예.하지만 두 계정을 결합하는 방법을 모르겠습니다. 맨 위에있는 것은 OpenID를 사용합니다. 나는 아래쪽에 로그인하는 방법을 기억조차 못한다 (위험 마우스 그림 사용). 나는 stackoverflow에 게시하는 새로운입니다. –