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をスクリプトにコピーアンドペーストしようとすると、吐き出されている文字を認識しなくなるからです。ここで