如何将未编码的网络报废数据转换为英语

时间:2019-04-12 06:34:08

标签: r web-scraping unicode

我已经从网上抓取了数据,其输出以unicode形式显示,如注释所示

现在如何使用R将这些数据翻译成英语

1 个答案:

答案 0 :(得分:0)

您的dput已损坏。我仍在尝试重现您的数据。并提出解决方案。

library(stringi)
library(stringr)

a <- structure(list(ID = 7357, Title = structure(1L, .Label = "<U+0905><U+092C> <U+0928><U+0939><U+0940><U+0902> <U+091B><U+092A><U+0947><U+0917><U+0940> <U+0907><U+0928><U+094D><U+0938><U+093E><U+0907><\
U+0915><U+094D><U+0932><U+094B><U+092A><U+0940><U+0921><U+093F><U+092F><U+093E> <U+092C><U+094D><U+0930><U+093F><U+091F><U+0948><U+0928><U+093F><U+0915><U+093E>", class = "factor")))
titles <- as.character(a$Title)
titles_in_unicode <- lapply(
    unlist(strsplit(titles,' ')),
    FUN = function(words) {
        paste(stri_unescape_unicode(gsub("U+",
                                   "\\u",
                                   unlist(str_extract_all(words,
                                                          "U\\+([0-9]?)+([A-Z]?)+")),
                                   fixed=TRUE)),collapse='')
    }
)

输出

!> titles_in_unicode
 [[1]]
 [1] "अब"

 [[2]]
 [1] "नहीं"

 [[3]]
 [1] "छपेगी"

 [[4]]
 [1] "इन्साइक्लोपीडिया"

 [[5]]
 [1] "ब्रिटैनिका"