问题标签 [httr]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
7677 浏览

html - httr:使用 POST() 检索数据

免责声明:虽然我已经设法使用 httr 的 POST 函数从另一个来源获取数据,但要知道我在 httr 和 HTML 表单方面是一个完整的 n00b。

我想使用 httr 将一些数据从网站直接带入 R。我的第一次尝试涉及将命名列表传递给正文 arg(如本小插图所示)。但是,我注意到表单输入名称中的方括号(至少我认为它们是表单输入参数)。因此,我尝试将正文作为字符串传递,因为我认为它应该出现在请求正文中:

无论如何,上面的代码只是返回网页源代码,我无法弄清楚如何正确提交表单,以便它返回与手动单击表单的“下载数据”按钮相同的数据。

在 Chrome 上的开发人员工具/网络中,它在 Content-Disposition 下的响应标题中指出,当我手动单击表单上的“下载数据”按钮时,有一个包含数据的文本文件附件。它似乎不在与上述代码中的响应对象关联的任何标头中。为什么 POST 请求没有返回此文件 - 包含数据的文件在哪里?

感觉就像我错过了一些明显的东西。有人愿意帮我把这些点联系起来吗?

0 投票
2 回答
1125 浏览

r - 从 Web 源获取 R 中的数据作为数据框

我正在尝试使用 RCurl 包将一些空气污染背景数据作为 data.frame 直接加载到 R 中。

有问题的网站在下载 .csv 文件之前有 3 个下拉框可供选择选项,如下图所示:

在此处输入图像描述

我正在尝试从下拉框中选择 3 个值,然后使用“下载 CSV”按钮将数据作为 data.frame 直接下载到 R 中。

我想下载特定站点的多年和多种污染物的不同组合。

在 StackOverflow 上的其他帖子中,我遇到getForm了 RCurl 包中的功能,但我不明白如何使用此功能控制 3 个下拉框。

数据源的 URL 是:http ://uk-air.defra.gov.uk/data/laqm-background-maps?year=2011

0 投票
1 回答
110 浏览

xml - 获取 url 中的字符串(网页抓取)

尽管我在少数情况下设法获得了一些内容,但我对网络抓取并不熟悉。然而,这一次虽然我的问题看起来很简单,但我无法在网页中获得包含符号、名称和市场的字符串。也就是说,我想在网址中获取字符串“Merck KGaA (MRK.DE) -XETRA”。我已经尝试了以下代码,它返回了几个表,但我无法得到我正在寻找的部分:

0 投票
2 回答
2327 浏览

r - 使用包 httr、twitteR 和 streamR 检索缓存的 oauth 令牌

我发现让自己通过 twitter API 进行身份验证的唯一方法是:

运行后,我可以很好地使用 twitteR 中的所有功能。但是,我还想使用 streamR 包,它需要令牌作为 OAuth 对象:

据我所知,上面的 setup_twitter_oauth 函数是一些 httr 函数的包装器,用于获取我的授权令牌。此令牌作为名为“.httr-oauth”的文件缓存在我的工作目录中。我的问题是:如何将此文件加载到 R 中,以便获得可以与 streamR 一起使用的 OAuth 对象?

0 投票
1 回答
262 浏览

r - 让 Shiny Server(真正的 bigrquery)认为 R 正在交互式运行

我在 Shiny 服务器上有一个闪亮的应用程序,但如果 R​​ 未处于交互模式,则应用程序中使用的一个包会生气。对于我正在使用的功能,我不需要交互性。

我知道从命令行启动 R 时可以使用 --interactive 选项。有没有办法将它传递给闪亮的服务器?

谢谢!

编辑 - 具体问题似乎与 bigrquery 包有关。从闪亮的服务器调用query_exec返回错误:interactive() is not TRUE.

0 投票
1 回答
129 浏览

r - 发送表达式到网站字段返回动态结果(图片)

我最近问了一个类似的问题:将表达式发送到网站返回动态结果(图片)并得到了很好的响应,不需要将表达式发送到网页的字段,而是利用 URL 来完成工作。

我发现了一个更好的正则表达式可视化器(由 G. Grothendieck 指出),因为它可以设置为基于 Python(更接近 R;例如,它允许像http://www.regexper.com/(?<=foo)那样的lookbehinds引发错误) .

使用此正则表达式:"(?<=foo)\\s*foo[A-Z]\\d{2,3}"我想使用 R 发送(?<=foo)\s*foo[A-Z]\d{2,3},将下拉菜单设置为Python,然后打开或返回可视化结果,如下所示:

在此处输入图像描述

相同的 URL 技巧在这里不起作用,因为输入表达式时 URL 不会改变,而是嵌入的 JavaScript 正在返回结果。

MWE

0 投票
0 回答
110 浏览

r - 警告消息:在 curlOptions 中:重复的 curl 选项

我正在开发一个 R 脚本,该脚本将从 twitter 获取帖子。我注意到每次我运行以下语句时:

显示以下警告消息:

我在网上没有找到任何好的信息来解决这个问题?我需要在 set_config 语句中只修改一次 httpheader 吗?请在下面找到我的脚本:

代码:

会话信息:

0 投票
1 回答
842 浏览

r - twitter api 的 httr::oauth1.0_token 错误

我目前正在尝试通过 httr 包与 Twitter 的 Streaming API 进行交互:

这带来了以下问题和错误:

我该如何解决这个问题?

0 投票
1 回答
1446 浏览

r - 使用 R 从网上下载 javascript 加载数据?棘手的网页抓取

我一直在尝试使用 R 进行一些网页抓取,并且在几个页面中它相对容易。但是我已经为一个特定的网页苦苦挣扎了好几个星期:

https://www.commerzbank.de/de/hauptnavigation/kunden/kursinfo/devisenk/weitere_waehrungen___indikative_kurse/indikative_kurse.jsp

我认为,问题在于最终页面使用 javascript 加载数据。

起初我以为这是一个非常简单的案例;毕竟,它只是一个你在浏览器中查看数据的链接,所以我想好吧,这是一个古老的 http get 请求,我天真地尝试了这样的事情:

由于它不起作用,我检查了网页的工作原理,如下所示。首先,它设置一些 cookie 和几个参数,然后将浏览器(通过 http POST 请求)重定向到 URL https://www.commerzbank.de/rates/do.rates。这个新页面加载了一个巨大的 javascript 代码(1923 行代码,由http://jsbeautifier.org/格式化),负责下载数据并生成 html 代码以显示它。此代码使用原始页面设置的 cookie 和参数来确定要下载和显示哪些数据。

我在 R 中尝试了太多东西来获取这个网页中的数据。我不会把我尝试过的所有疯狂的东西都放在这里,因为它太长了(有时很尴尬),但我已经尝试过使用 RCurl 和其他包(repmis、scrapeR、httr、rjson 等)的大多数功能. 似乎没有任何工作,因为这些软件包似乎都没有办法(至少自动)使 javascript 代码运行以下载数据。

是否有任何包/隐藏功能可以帮助我完成此任务?

提前致谢。

0 投票
3 回答
1854 浏览

r - 将 CURL 转换为 R

主要出于我自己的理解,您将如何使用 RCurl 或 httr 将以下玩具 CURL 示例转换为 R:

除了简单的 GET 请求之外,我发现这两个包都有些尴尬。

我试过了:

获得 400 状态。我的 Curl 版本完美运行。

也试过:

同时获得400状态。

我很确定问题出在设置标题上。