【问题标题】:Getting JSON from WEB API to R - Beginner here将 JSON 从 WEB API 获取到 R - 初学者在这里
【发布时间】:2020-05-31 19:29:51
【问题描述】:

我正在尝试将 JSON 从 webapi 获取到 R

来自以下网站 http://wbes.srldc.in/Report/GetCurrentDayFullScheduleMaxRev?regionid=4&ScheduleDate=31-05-2020

当我在浏览器中尝试时,得到正确的响应。

但是,当我在 R 中尝试使用任何方法时,获取的数据是不同的 html 页面,没有任何 JSON 格式。

我只是从 R 开始,没有任何编程背景。请帮忙

【问题讨论】:

  • 这是我得到的错误。 parse_con(txt, bigint_as_char) 中的错误:词法错误:json 文本中的无效字符。
    感谢您提供错误,请edit 提出您的问题并将错误文本加上您使用的返回错误的代码(请在code block 中) .当我们有明确的起点时,我们通常可以提供更好的帮助。谢谢!
  • 进一步:该网页似乎要求登录,所以我不知道有多少人能够在您没有明确的中间步骤的情况下提供帮助。如果您可以了解您尝试过的内容和所看到的内容,这将有很大帮助。我的猜测是,如果您还没有,您将需要使用rvest 来进行会话管理。 (也许意识到登录浏览器然后将 URL 传输到 R 控制台通常不会使您使用 URL 进行身份验证。如果知道这一点,我们深表歉意,但这并不总是直观的。)

标签: r json httr webapi jsonlite


【解决方案1】:

我感受到了您的痛苦,您尝试访问的网站似乎检查了用户代理以避免抓取。我会在httr 中设置一个通用用户代理(Chrome 或 Firefox 都可以)并执行一个GET 请求。这应该可以帮助您完成对 MaxRevision 值的抓取:

library(httr)

url <- "http://wbes.srldc.in/Report/GetCurrentDayFullScheduleMaxRev?regionid=4&ScheduleDate=31-05-2020"
ua <- "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36"

res <- GET(url, user_agent(ua))
content(res)
#> $MaxRevision
#> [1] 216

reprex package (v0.3.0) 于 2020 年 6 月 1 日创建

【讨论】:

    猜你喜欢
    相关资源
    最近更新 更多
    热门标签