gpt4 book ai didi

网页抓取时的 R 编码问题 - 如何修复损坏的文本?

转载 作者:行者123 更新时间:2023-12-04 10:45:29 24 4
gpt4 key购买 nike

在网络抓取时,检索到的一些文本被破坏了,当使用不正确的编码时,与外国文本非常相似。问题是:编码似乎是正确的:“UTF-8”。
有没有办法修复文本,即使它应该是正确的格式?下面的代码块是这里报告的问题。
Rstudio 配置了“UTF-8”编码,更改使用的编码的函数总是返回更多的乱码。
谢谢大家。

library(rvest)

url <- "https://www1.folha.uol.com.br/poder/2020/01/folhas-da-manha-da-tarde-e-da-noite-se-uniram-sob-um-so-titulo-folha-de-spaulo-ha-60-anos.shtml"

title.news <- html_text(read_html(url) %>%
html_nodes('body') %>%
html_nodes('main') %>%
html_nodes('article') %>%
html_nodes('.block') %>%
html_nodes('h1'))

title.news <- trimws(gsub(pattern = '\\s+', ' ', title.news))

Encoding(title.news)
[1] "UTF-8"

title.news
[1] "Folhas da Manhã, da Tarde e da Noite se uniram sob um só título, Folha de S.Paulo, há 60 anos"

#Desired Output: Folhas da Manhã, da Tarde e da Noite se uniram sob um só título, Folha de S.Paulo, há 60 anos

最佳答案

答案是here但老实说,我不知道它为什么有效。

首先有一些编码错误的行,您可以使用 utf8::utf8_valid 进行检查。

library(rvest)
#> Loading required package: xml2

url <- "https://www1.folha.uol.com.br/poder/2020/01/folhas-da-manha-da-tarde-e-da-noite-se-uniram-sob-um-so-titulo-folha-de-spaulo-ha-60-anos.shtml"
lines <- readLines(url, warn = FALSE)
lines[!utf8::utf8_valid(lines)]
#> [1] " Esse trecho est\xe1 em produ\xe7\xe3o para dar suporte aos componentes de chamadas,"
#> [2] " p\xe1ginas serem republicadas."
#> [3] " Trecho de c\xf3digo adicionado para renomear legenda abaixo das publicdades,"

哪些是页面源 html 中的注释。剥离它们使功能按预期工作
lines <- readLines(url, warn = FALSE)
content <- paste(lines[utf8::utf8_valid(lines)], collapse = "\n")
content %>% read_html() %>% html_nodes('body') %>%
html_nodes('main') %>%
html_nodes('article') %>%
html_nodes('.block') %>%
html_nodes('h1') %>%
html_text() %>%
{trimws(gsub(pattern = '\\s+', ' ', .))}
#> [1] "Folhas da Manhã, da Tarde e da Noite se uniram sob um só título, Folha de S.Paulo, há 60 anos"

由 reprex 包(v0.3.0)于 2020 年 1 月 13 日创建

关于网页抓取时的 R 编码问题 - 如何修复损坏的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59725876/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com