2017-11-02 7 views
0

異なる言語のテキストを英語に自動的に翻訳しようとしています。rのgetURL関数でエラーが発生しました

私は通路をやっているが、この他の質問に次のように説明しGoogle translate via web scraping r

が、私はこのエラーを取得:

Error in function (type, msg, asError = TRUE) : Illegal characters found in URL 

私のコード

getParam <- as.character(db$text) 
translateFrom <- as.character(db$language) 

translateTo <- "en" 
search <- gsub(" ", "%20", getParam) 
URL <- paste("https://translate.google.pl/m?hl=",translateFrom,"&sl=",translateFrom,"&tl=",translateTo,"&ie=UTF-8&prev=_m&q=",search,sep="", ssl.verifypeer = FALSE) 

page <- getURL(URL) 

tree <- htmlTreeParse(page) 

body <- tree$children$html$children$body 
+0

あなたのURLは何ですか?あなたのデータと正確なコード(別の質問からのコピーであっても)を(サンプルの)サンプルを含めて再現可能にしてください。 – r2evans

+0

@ r2evansこれは何か?大丈夫ですか? – Silvia

+0

いいえかどうか確認するには、変数またはパッケージがロードされていない状態で "fresh" Rインスタンスを起動し、コードを実行してみてください。 'object '...' not found 'または' count not find function "..." 'が出たら、あなたの答えは十分に再現できません。この場合、 'db 'には何が含まれているかわかりません。 – r2evans

答えて

0
library(XML) 
library(RCurl) 

db=data.frame(text = c("traduire", "tradurre"), langage=c("fr", "it")) 

ls = unlist(apply(db, 1, list), recursive = FALSE) 

lapply(unlist(apply(db, 1, list), recursive = FALSE), function(x){ 

    getParam <- as.character(x[1]) 
    translateFrom <- as.character(x[2]) 

    translateTo <- "en" 
    search <- gsub(" ", "%20", getParam) 
    URL <- paste("https://translate.google.pl/m?hl=",translateFrom,"&sl=",translateFrom,"&tl=",translateTo,"&ie=UTF-8&prev=_m&q=",search,sep="") 
    page <- getURL(URL) 
    tree <-htmlTreeParse(page) 
    body <- tree$children$html$children$body 
    body_text <- body$children[[5]]$children[[1]] 
    body_text 

}) 
関連する問題