我有以下R脚本用于从网站上抓取一些文本数据。
library('rvest')
term_data_final <- c()
defn_data_final <- c()
for (term in 1:10) {
url_base <- 'http://www.nplg.gov.ge/gwdict/index.php?a=term&d=9&t='
url <- paste(url_base, term, sep="")
webpage <- read_html(url)
term_data_html <- html_nodes(webpage, '.term')
term_data <- html_text(term_data_html)
if (!grepl("\\?", term_data)) {
term_data_final <- c(term_data_final, term_data)
defn_data_html <- html_nodes(webpage, '.defnblock')
defn_data <- html_text(defn_data_html)
defn_data_final <- c(defn_data_final, defn_data)
}
}
RusGeoDict <- data.frame(term_data_final, defn_data_final)
write.csv(RusGeoDict, file = 'RusGeoDict.csv', fileEncoding="UTF-8")
该脚本将已删除的数据组合到一个数据帧中,然后将该数据帧写入csv文件。被删除的文本是俄语和格鲁吉亚字符,当保存到数据帧和csv时,而不是文本我得到格式的十六进制unicode:。当我输出在组合成数据帧之前创建的列表,例如term_data_final
我得到原始文本,但是一旦我保存到数据帧并输出到csv文件,我得到unicode。有没有办法让格鲁吉亚和俄罗斯字符的原始文本保存到没有unicode输出的csv。谢谢!
答案 0 :(得分:0)
好的,我不知道任何俄语,但我认为你可以在运行脚本之前设置GeoDict,对吧。
Sys.setlocale("LC_CTYPE", "russian")
RusGeoDict <- data.frame(term_data_final, defn_data_final)
我刚尝试过,我觉得它有效。我不能确定地说。尝试并反馈您的发现。
最后,请参阅以下链接。其他想法。