我试着在1=1擦拭俄文杂志的名字,但我对编码有问题。
R不显示Автоматика и телемеханика
,而是显示Àâòîìàòèêà è òåëåìåõàíèêà
。
即使使用rvest::guess_encoding()
的第一个结果也不起作用。我也尝试了read_html(nauka_url, encoding="UTF-8")
,但是收到了一个错误,告诉我:“输入不合适UTF-8,指示编码!”
到目前为止,我的代码如下:
nauka_url <- "https://www.libnauka.ru/elektronnii-katalog/?PAGEN_1=1"
nauka_encoding <- rvest::guess_encoding(nauka_url)
nauka_page <- xml2::read_html(nauka_url, encoding=nauka_encoding[1,1])
nauka_journals <- rvest::html_node(nauka_page, css='#wraps > div > div > div > div > div.block-themes-category.block-themes-category-elems')
nauka_journal_names <- rvest::html_nodes(nauka_journals, css='.edition__title')
nauka_journal_names <- rvest::html_text(nauka_journal_names)
如何获得正确的西里尔字母?谢谢你的帮助!
发布于 2021-01-02 07:40:55
当遇到一个外文脚本时,在这种情况下,一个反复的过程通常会找到正确的编码类型。
rvest::guess_encoding
正是这样做的--根据信心分数进行猜测。然而,这有时无法识别编码,在这种情况下,手工试验和错误可以解决问题。阅读?stri_enc_detect
的stringi
包,人们可以找到不同(广泛)使用的特定语言的编码风格。对于西里尔语,请尝试设置编码"ISO-8859-5"
、"windows-1251"
或"KOI8-R"
。
https://stackoverflow.com/questions/65537610
复制相似问题