【问题标题】:Retrieving data in R from Import.io API using Rcurl?使用 Rcurl 从 Import.io API 中检索 R 中的数据?
【发布时间】:2023-05-19 21:12:02
【问题描述】:

我正在尝试从 import.io 'connector' API 检索数据。

基本上,我已经针对给定网站的结构训练了提取器,我想使用这种方法从 R 中导入数据: 1) 从 API 中检索 Json 结果 2) 将每个查询结果保存到给定的数据帧中

我的计划是使用 RCurl 来查询 API 链接: https://api.import.io/store/connector/9128b4e0-9ae2-4232-b202-c1e8766ed01f/_query?input=webpage/url:[ENCODED URL]&&_apikey=[API-KEY]

require(Rcurl)
Raw.Data <- curl::curl(url = "https://api.import.io/store/connector/9128b4e0-9ae2-4232-b202-c1e8766ed01f/_query?input=webpage/url:[ENCODED URL]&&_apikey=[API-KEY]")

然后,使用 Rjson 将检索到的数据读入数据框:

require(rjson)
FromJson_To_DataFrame <-(Raw.data)

有一些东西丢失了,因为我遇到了错误,但我无法弄清楚它是什么,以及是否有可能像这样。提示将非常受欢迎!

来自 DK 的欢呼

【问题讨论】:

  • 您遇到了哪些错误?此外,您的查询字符串 input=webpage/url:[ENCODED URL]&amp;&amp;_apikey=[API-KEY] 中有两个与号,这可能会导致问题。
  • @Bam4d 感谢您的回复!你是对的,错误是由于两个 &&.. 现在我的下一个问题是将数据存储在一个数据框中,这看起来并不那么简单:require(rjson) FromJson_To_DataFrame
  • 对不起,我对 R 了解不多,但我确实发现这可能有用:*.com/questions/16947643/… 这里的数据格式与 import.io 数据集中使用的数据格式相同,所以我希望这将是一个好的开始!

标签: json r rcurl import.io rjson


【解决方案1】:

我找到了这个问题的答案,它相当简单。从 import.io API 检索到的 json 对象可以通过 $ 访问它来更改为 DF 中的列:

library(httr)   
output <- get(https://api.import.io/store/connector/9128b4e0-9ae2-4232-b202-c1e8766ed01f/_query?input=webpage/url:[ENCODED URL]&&_apikey=[API-KEY])

result <- content(output)

vector1 <- result$results$variable1
vector2 <- result$results$variable2

然后您可以根据需要将它们绑定到数据框。

【讨论】:

    最近更新 更多