【发布时间】:2019-05-31 00:19:19
【问题描述】:
对于网页抓取,我通常使用jsonlite::fromJSON(url) 命令,它通常可以为我完成这项工作。然而这次它在另一个文本中。
基本上是这样的:
jQuery([
JSON stuff that I am more used to
]);
如何轻松解决这个问题? 当我调用地址时,实际数据看起来像这样(我已经点击它更漂亮了):
jQuery(
[
{"Date":"2019-05-31T00:00:00+02:00","FromTime":"2019-05-31T00:00:00+02:00","ToTime":"2019-05-31T00:15:00+02:00","Value":3315.9120000000003,"Value2":2584.244,"Value3":731.668},
{"Date":"2019-05-31T00:00:00+02:00","FromTime":"2019-05-31T00:15:00+02:00","ToTime":"2019-05-31T00:30:00+02:00","Value":3386.238,"Value2":2655.814,"Value3":730.424}
]
);
当我尝试让函数解析它时得到的错误消息是
Error in parse_con(txt, bigint_as_char) :
lexical error: invalid char in json text.
jQuery([{"Date":"2019-05-29T00:
(right here) ------^
最终目标只是拥有一个数据框来继续工作。
【问题讨论】:
-
我不明白问题是什么。
jQuery函数中的内容是有效的 JSON —test it yourself。jQuery来自哪里,你用它做什么? -
@camille 谢谢你回答它说
Error in parse_con(txt, bigint_as_char) : lexical error: invalid char in json text. jQuery (right here) ------^ -
在包含一些代码之前还不清楚。 jQuery 是一个 javascript 库,所以我不确定你在这里用它做什么或它来自哪里
-
@camille 这就是我在处理数据之前所做的全部工作:)
library(jsonlite) Raw<-fromJSON("https://ws.50hertz.com/web02/api/PhotovoltaicActual/ListRecords?filterDateTime=2019-05-30T22:23:14.716Z&callback=jQuery&_=1559254994256") -
是否有您正在使用的 API?该 URL 有 jQuery 作为回调,但我不知道为什么。我想您可以做的一件事是尝试仅读取从该 URL 作为字符串返回的内容,而不是立即将其从 JSON 转换,然后删除 jQuery 函数,then 解析它。但是,如果有 API 文档或您从哪里获得此文档,我会从那里开始
标签: r json web-scraping