2016-06-16 4 views
3

私はthisテーブルをWikipediaから入手しようとしています。ファイルのソースは、それがUTF-8ですclamis:UTF-8でエラーが発生しました。

> <!DOCTYPE html> <html lang="en" dir="ltr" class="client-nojs"> <head> 
> <meta charset="UTF-8"/> <title>List of cities in Colombia - Wikipedia, 
> the free encyclopedia</title> 
> ... 

しかし、私はrvestでテーブルを取得しようとすると、それはなど、E、Aのような(標準スペイン語)のものがアクセントされなければならない奇妙な文字を示し これは私が試みたものです:

theurl <- "https://en.wikipedia.org/wiki/List_of_cities_in_Colombia" 
file <- read_html(theurl, encoding = "UTF-8") 
tables <- html_nodes(file, "table") 
pop <- html_table(tables[[2]]) 
head(pop) 

## No.   City Population   Department 
## 1 1  Bogotá 6.840.116  Cundinamarca 
## 2 2 Medellín 2.214.494   Antioquia 
## 3 3   Cali 2.119.908 Valle del Cauca 
## 4 4 Barranquilla 1.146.359   Atlántico 
## 5 5 Cartagena 892.545   Bolívar 
## 6 6  Cúcuta 587.676 Norte de Santander 

他のSOの質問で提案されているように私は、エンコーディングを修復しようとしている:私はしました

repair_encoding(pop) 

## Best guess: UTF-8 (100% confident) 
## Error in stringi::stri_conv(x, from = from) : 
## all elements in `str` should be a raw vectors 

いくつかの異なるエンコーディングをテストしました(latin1など、guess_encoding()で提供されていますが、すべて同じように不正確な結果を生成します)。

このテーブルを正しくロードするにはどうすればよいですか?

答えて

3
あなたは文字ベクトル、全体ではなく、データフレームに repair_encodingを使用しているように見えます

...

> repair_encoding(head(pop[,2])) 
Best guess: UTF-8 (80% confident) 
[1] "Bogotá"  "Medellín"  "Cali"   "Barranquilla" 
[5] "Cartagena" "Cúcuta"  
関連する問題