httr パッケージを使用して UTF-8 でエンコードされた Web サイトをスクレイピングしようとしていますが、明らかcontent
にそのパッケージの機能では、Web サイトをテキストとして解析する場合にのみエンコードを指定できます。残念ながら、後で xpath クエリを使用したいので、テキストとして解析することはできません。次に例を示します。
library(XML)
library(httr)
page <- GET("http://ec.europa.eu/archives/commission_2004-2009/index_en.htm")
test <- content(page, as = "parsed")
# Get a list of names, many of which contain non-standard characters
xpathSApply(test, "//img", xmlGetAttr, "alt")
# This gives the correct encoding, but outputs a character vector,
# on which I cannot use xpath queries
test <- content(page, as = "text", encoding = "utf-8")
アップデート:
# htmlParse returns a parsed document, but the non-standard characters are
# not properly encoded, i.e. the result is the same whether or not I specify the
# "encoding" argument
test <- htmlParse(page, encoding = "UTF-8")
# Non-standard characters in names still not properly encoded
xpathSApply(test, "//img", xmlGetAttr, "alt")