2016-11-14 3 views
0

Rのスペイン語ソースからテキストを抽出しようとしていますが、htmlParseのコードを明示的に指定することで解決されない文字エンコードの問題が発生しています(推奨here)。エンコードエラーを解決するには

library(XML) 
library(httr) 
url <- "http://www3.hcdn.gov.ar//folio-cgi-bin/om_isapi.dll?E1=&E11=&E12=&E13=&E14=&E15=&E16=&E17=&E18=&E2=&E3=&E5=ley&E6=&E7=&E9=&headingswithhits=on&infobase=proy.nfo&querytemplate=Consulta%20de%20Proyectos%20Parlamentarios&record={4EBB}&recordswithhits=on&softpage=Document42&submit=ejecutar%20" 
doc <- htmlParse(rawToChar(GET(url)$content),encoding="windows-1252") 
text <- xpathSApply(doc, "//text()[not(ancestor::script)][not(ancestor::style)][not(ancestor::noscript)][not(ancestor::form)]", xmlValue) 
text[77] 

アクセント記号付きのiを含む77番目の要素には、不快な文字が含まれています。 4番目の行には、このソースを読むために飛び越えなければならないいくつかの追加のフープがあります。ドキュメント自体は "windows-1252"でエンコードされていると主張しています。私が試した "latin1"と他のいくつかのエンコーディングを指定するのは良くありません。私の実際のアプリケーションでは、私はすでにこれらのファイルの多くをダウンロードしており、readLinesを使ってそれらをローカルで読んでいます...そして、そのファイルがRに読み込まれた後にエラーが存在しないことが分かります。そのため、問題はhtmlParseでなければなりません。また、エンコーディングエラーを受け入れ、元のポストを修正することはオプションではないようです。Rをスクリプトにコピーアンドペーストしようとすると、吐き出されている文字を認識しなくなるからです。ここで

答えて

1

あなたは「UTF-8」にコーディングを変更R

Encoding(text) <- "UTF-8" 

にファイルを持参した後に働くかもしれクイックフィックスは、スペインのファイルは、より多くの使用可能になります。

関連する問題