Google переводит через URL в R без API - PullRequest
0 голосов
/ 01 июля 2018

Я пытаюсь перевести несколько строк символов с местного языка ("тамильский") на английский. Я использовал пример кода из Stackoverflow и изменил скрипт:

   library(RCurl)
   library(XML)
   library(Unicode)
   getParam = read.csv("file.csv", header=T, encoding = "UTF-8")
   get<-u_to_lower_case(getParam$text)
   get1<-matrix(1:6,nrow = 6, ncol = 1)
   get1<-(as.vector(get))
   data2<-matrix(1:6,nrow=6, ncol = 1)
   translateFrom = "ta"
   translateTo = "en"
   for (i in 1:length(get1))
   {
   URL <- paste("https://translate.google.pl? 
   hl=",translateTo,"&sl=",translateFrom,"&tl=",translateTo,"&ie=UTF- 
   8&prev=_m&q=",get1[i],sep="")
   print(URL)
   page <- getURL(URL)
   tree <-htmlTreeParse(page)
   body <- tree$children$html$children$body 
   body_text <- body$children[[5]]$children[[1]]  
   print(body_text)
   data1[i]<-body_text
   if(nrow(data1) == 0) 
   {data1[1,] <- "N/A"
   } 
   data2<-rbind(data2,data1)
   }

Без цикла я могу перевести его. Но с циклом я получаю сообщение об ошибке, подобное этому:

    In structure(x$children, class = "XMLNodeList") :
    Calling 'structure(NULL, *)' is deprecated, as NULL cannot have 
    attributes.
    Consider 'structure(list(), *)' instead.

Может кто-нибудь исправить мой код или предложить лучший?

Примечание: было несколько модификаций, чтобы избежать ошибки Unicode. Но, наконец, преодолел это. Кроме того, я не хочу использовать платный API перевода Google.

...