前提・実現したいこと
Rで取得したAPIのテキストをリスト化してcsvファイルに出力したいと考えています。
発生している問題・エラーメッセージ
以下の該当のソースコードの #ここからです のところをRUNすると、数字とアルファベットで文字化けしたツリーが出てきます。
該当のソースコード
R
1library(httr) 2library(XML) 3library(xml2) 4library(rlist) 5library(stringr) 6library(dplyr) 7library(readxl) 8 9base_url <- "https://kokkai.ndl.go.jp/api/speech?" 10 11payload <- "any=世間&maximumRecords=100&from=2010-04-01&until=2020-03-31&startRecord=1" 12r <- GET(URLencode(paste0(base_url, payload))) 13rtxt <- content(r, "text", encoding = "utf8") 14 15#ここからです 16rtree <- xmlInternalTreeParse(rtxt, ignoreBlanks = TRUE)
試したこと
以下の日本語でよくあるエンコードは試しました。
・encoding = "utf8"にした
→今度は漢字で文字化けしたツリーが出てくる
・encoding = "Shift-JIS"にした
→以下のようなエラーが出る
R
1> rtree <- xmlInternalTreeParse(rtxt, ignoreBlanks = TRUE, encoding = "Shift-JIS") 2input conversion failed due to input error, bytes 0x86 0xE8 0xAD 0xB0 3input conversion failed due to input error, bytes 0x86 0xE8 0xAD 0xB0 4encoder errorPremature end of data in tag nameOfHouse line 1 5Premature end of data in tag speechRecord line 1 6Premature end of data in tag recordData line 1 7Premature end of data in tag record line 1 8Premature end of data in tag records line 1 9Premature end of data in tag data line 1 10Error: 1: input conversion failed due to input error, bytes 0x86 0xE8 0xAD 0xB0 112: input conversion failed due to input error, bytes 0x86 0xE8 0xAD 0xB0 123: encoder error4: Premature end of data in tag nameOfHouse line 1 135: Premature end of data in tag speechRecord line 1 146: Premature end of data in tag recordData line 1 157: Premature end of data in tag record line 1 168: Premature end of data in tag records line 1 179: Premature end of data in tag data line 1
・encoding = "cp932"にした
→"Shift-JIS"と同じエラーが出る
補足情報(FW/ツールのバージョンなど)
・実行したOS Windows10
・使用したRのversion Rx64 4.1.1
・使用したIDE Rstudio 1.4
追記
・rtxtの時点ではきちんと文字化けせずに出力されます。
他必要事項ございましたら追記依頼お願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/23 09:01 編集
2021/09/23 10:30
2021/09/23 23:56 編集
2021/09/27 11:48