2016-11-12 4 views
2

이 기능은 실행되지 않습니다. 코드 내부의 명령은 자체에 적용될 때 작동하지만이 lapply 함수에서 실행하면 오류가 발생합니다. Curl 라이브러리 등을 업데이트하려고했습니다 ... 왜 그런 일이 벌어지고 있는지 알 수 없습니다.R - curl :: curl_fetch_memory (url, handle = handle)의 오류 : 잘못된 형식 또는 누락 된 URL을 사용하는 URL

library(curl) 
    ##dataframe looks like this as factor list: x = "http://google.com" 
    funk <- function(x) { 
      read_html(x) %>% html_node("title") %>% html_text 
    } 
    df$titles<-lapply(df$urls,funk) 

    Error: 'Error in curl::curl_fetch_memory(url, handle = handle) : 
    URL using bad/illegal format or missing URL 
    ' does not exist in current working directory ('/Users/Home/'). 

도움을 주시면 감사하겠습니다.

+0

업데이트를 얻을 때. 데이터 프레임은 요소 목록으로 위의 예와 같은 URL 목록입니다. – frameworkgeek

+0

문자 강요? URL을 보지 않고는 진단 할 수 없습니다. – alistaire

+0

@alistaire 예, lapply 안의 as.character (df $ urls)를 시험해 보았습니다. – frameworkgeek

답변

0

기능은 lapply 내에서 작동합니다

df <- data.frame(urls=c("http://google.com", "http://ytcracker.com"), stringsAsFactors = F) 
funk <- function(x) { 
    read_html(x) %>% html_node("title") %>% html_text 
} 

lapply(df$urls, funk) 
[[1]] 
[1] "Google" 

[[2]] 
[1] "ytOS/2014" 
df$titles <- lapply(df$urls, funk) 
df 
    urls titles 
1 http://google.com Google 
2 http://ytcracker.com ytOS/2014 

그래서 문제는 질문의 비 재현 부분이어야 함 ~한다. 데이터 프레임이 되십시오 (나중에 R 질문의 데이터를 dput()으로 보내주십시오 - 자세한 정보는 R 태그 설명을 확인하십시오).

특히 오류 메시지는 해당 데이터 프레임 내에 URL을 어떻게 지정했는지 문제가 있음을 나타냅니다. 더욱 구체적으로

, 당신은 등 거의 항상 http:// 또는 https://와 도메인을 충족하지 않았 음을 의미합니다

' does not exist in current working directory ('/Users/Home/'). 

말하는 오류,