【问题标题】:Problem with reading html text from Google Translator从谷歌翻译器读取 html 文本的问题
【发布时间】:2021-08-19 05:27:03
【问题描述】:

当我将某些内容从日语翻译成英语时,我遇到了从 Google 翻译中抓取一些文本的问题。这是我正在使用的代码:

library(rvest)
library(dplyr)
url_pr2 <- 'https://warp.ndl.go.jp/info:ndljp/pid/11454275/www.mofa.go.jp/mofaj/press/release/17/rls_0430b.html'
webpage2 <- read_html(url_pr2, encoding = 'utf8')
title_data <- html_nodes(webpage2,'h2')
title <- html_text(title_data)
getParam = title
translateFrom = "ja"
translateTo = "en"
search <- gsub(" ", "%20", getParam)
URL_title <- paste("https://translate.google.pl/m?hl=",translateFrom,"&sl=",translateFrom,"&tl=",translateTo,"&ie=UTF-8&prev=_m&q=",search,sep="")
page <- getURL(URL_title)
web_title <- read_html(URL_title)
text_final <- html_nodes(web_title,'.result-container')
html_text(text_final)

但我得到以下文字:

[1] "æ Š € è ¡ "Å" å Š ›ã «é – ¢ ã ™ ã ‹æ— ¥ œ¬å ›½æ" ¿ 府㠨ã ل' ã ‡³ 府㠨㠮 é – “ã ®å” å®šã ®ç½²å”

如果我运行相同的代码,但将某些内容从西班牙语或法语翻译成英语,它就可以完美运行。这是另一个代码:

url_pr2 <- 'https://www.gob.mx/sre/prensa/la-sre-brinda-asistencia-a-mexicano-detenido-en-letonia?idiom=es'
webpage2 <- read_html(url_pr2, encoding = 'utf8')
title_data <- html_nodes(webpage2,'.bottom-buffer')
title <- html_text(title_data)
getParam = title
translateFrom = "es"
translateTo = "en"
search <- gsub(" ", "%20", getParam)
URL_title <- paste("https://translate.google.pl/m?hl=",translateFrom,"&sl=",translateFrom,"&tl=",translateTo,"&ie=UTF-8&prev=_m&q=",search,sep="")
page <- getURL(URL_title)
web_title <- read_html(URL_title)
text_final <- html_nodes(web_title,'.result-container')
html_text(text_final)

从前面的代码我得到以下结果:

[1]“SRE 为一名被拘留在拉脱维亚的墨西哥人提供援助”

有人知道如何提取英文翻译吗?如果我去我生成的谷歌翻译网站,我可以看到英文翻译。

【问题讨论】:

  • getURL func 在哪里?
  • 对不起!我忘了添加这个。它来自 RCurl 包。

标签: r rvest translate cjk


【解决方案1】:

您需要正确编码整个短语才能翻译

search <- URLencode(getParam)

library(rvest)
library(dplyr)

url_pr2 <- 'https://warp.ndl.go.jp/info:ndljp/pid/11454275/www.mofa.go.jp/mofaj/press/release/17/rls_0430b.html'
webpage2 <- read_html(url_pr2, encoding = 'utf8')
title_data <- html_nodes(webpage2,'h2')
title <- html_text(title_data)
getParam = title
translateFrom = "ja"
translateTo = "en"
search <- URLencode(getParam)
URL_title <- paste("https://translate.google.pl/m?hl=",translateFrom,"&sl=",translateFrom,"&tl=",translateTo,"&ie=UTF-8&prev=_m&q=",search,sep="")
page <- read_html(URL_title)
text_final  <- html_node(page,'.result-container') %>% html_text()
print(text_final)

"Signing of an agreement between the Government of Japan and the Government of the Islamic Republic of Pakistan on technical cooperation"

【讨论】:

  • 谢谢@QHarr!这非常有用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-29
  • 2011-11-09
  • 1970-01-01
  • 2020-09-25
  • 2011-05-22
相关资源
最近更新 更多