私は多くを検索しましたが、私の問題の良い解決策を見つけることができませんでした。R - JSONストリームの解析に関する問題
私は自分の仕事の一部を自動化しようとしており、私の会社が使用しているサイトからいくつかのデータを削り取っています。 (FYI - 。。TOSは、彼らが誰でもだから私は良いことがあり迷っている場合には掻き取りしたくないを示していないように見えます)
をこれまでのところ、私はこの時に以下のコード
library(devtools)
library(RSelenium)
library(XML)
library(rvest)
library(stringr)
library(dplyr)
library(knitr)
library(magrittr)
library(rjson)
library(stringi)
#login
appURL <- 'URL I Am accessing/'
pJS <- phantom()
remDr <- remoteDriver(browserName = "phantomjs")
remDr$open()
remDr$maxWindowSize()
remDr$navigate(appURL)
UN <- remDr$findElement(using = 'xpath', "//*[@id='login-form']/div[2]/div[2]/input")
UN$sendKeysToElement(list("Username"))
PW <- remDr$findElement(using = 'xpath', "//*[@id='login-form']/div[2]/div[3]/input")
PW$sendKeysToElement(list("password", key = "enter"))
URL <- 'URL of page with data'
remDr$navigate(URL)
Sys.sleep(2)
Source <- remDr$getPageSource()[[1]]
Text <- read_xml(Source,encoding = "", as_html = F, options = "NOBLANKS") %>%
xml_text(trim = T)
Text <- unlist(Text)
を持っていますポイントは、私は、JSONを含むテキストの多くを持っていますが、JSONは、このように構成されています
私は必要なJSONは、イベントに関連したJSONでevent: optionCollection
id: 229
data: [{JSON}]
:
event: pageDescription
id: 230
data: [{JSON}]
:
event: dataTable.headerRows
id: 232
data: [{JSON}]
:
event: dataTable.dataRows
id: 233
data: [{JSON}]
:dataTable.headerRowsとdataTable.dataRows。
通常、データの抽出に必要な複数のdataRowsイベントがあります。
誰でもRにこれらを取得する方法についての提案はできますか?
ご意見やご不明な点がございましたら、私にご連絡ください。
ありがとうございます!
*編集 - リクエストごとに現在のライブラリを追加しました。
*編集 - @Parfaitこれは返されるものです。私はコードが動作するはずと思われるので、問題の原因をクリアしておりませんので
$event
[1] "report.finished"
$id
[1] "2277"
$data
[1] "{\"status\":1}"
$event
[1] "report.finished"
$id
[1] "2277"
$data
[1] "{\"status\":1}"
これは一度だけtempfile.txtに表示されます。ここで
は、あなたがあなたの記事で提供されるサンプルの代わりにデータが書き込まTMPFILEです:
https://1drv.ms/t/s!AlEviX19YBNogaZGAHCUCC_ZDEI5OA
を記載してください(例リピートJSONを使用して)すべての ' library() '行を使用して正しく再現することができます。 – Parfait
@Parfaitはライブラリ()を追加しました。 –
が 'Text'のすべてのJSONか' [{JSON}]セクションのちょうどのビットであると私は考えていませんか?それがすべてのJSONでない場合、どのような構造ですか? – SymbolixAU