问题标签 [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 回答
7834 浏览

r - 基于并发请求的 RCurl 爬虫问题

以下是重现我在使用执行并发请求的 RCurl 构建爬虫时遇到的问题的脚本。目标是下载数千个网站的内容以进行统计分析。因此,解决方案应该扩展。

问题:

鉴于我需要抓取的网页数量,我宁愿为此使用 RCurl,因为它支持并发请求。我想知道是否可以改进 getURLs() 调用以使其在 getURL/getURLs 版本失败的情况下作为 GET() 版本工作。

更新:

我添加了一个包含更多数据(990 uris)的要点,以更好地重现问题。

运行后:

我收到以下错误:

使用 getURIAsynchronous:

我收到类似的错误:nchar(str) 中的错误:无效的多字节字符串 1

更新 2

尝试以下操作后:

结果是它适用于前 225 个 URL,然后它只返回来自网站的 cero 内容。这是空错误问题吗?

0 投票
1 回答
1544 浏览

r - 'RCurl' [R] 抓取 API 时包 getURL 网页错误

我正在尝试使用 R 中 RCurl 包的 getURL 函数从 API 中抓取页面上的数据。我的问题是,当我使用 R 发出请求时,我无法复制在 Chrome 中打开 URL 时得到的响应. 本质上,当我在 Chrome 中打开 API 页面(下面的 url)时,它工作正常,但如果我在 R 中使用 getURL(或在 Chrome 中使用隐身模式)请求它,我会收到“500 Internal Server Error”响应,而不是漂亮我正在寻找的 JSON。

有问题的 URL/API: http ://www.bluenile.com/api/public/loose-diamond/diamond-details/panel?country=USA¤cy=USD&language=en-us&productSet=BN&sku=LD04077082

这是我在 [R] 中的(失败的)请求。

到目前为止我的研究 首先我查看了堆栈上的这个先前的问题并将我的用户代理添加到请求中(没有解决问题但可能仍然是必要的): ViralHeat API issues with getURL() command in RCurl package

接下来,我查看了这篇有用的帖子,它指导了我的基本原理: R Disparity between browser and GET / getURL

我对解决方案的想法 这不是我的专业领域,但我的猜测是该请求缺少完成请求所需的 cookie(因此它在我的浏览器中以隐身模式不起作用)。我比较了成功请求和不成功请求的请求和响应:

请求成功: 在此处输入图像描述

请求失败:

在此处输入图像描述

有人有想法么?我是否应该尝试使用RSeleniumMrFlick 在我发布的第二篇文章中建议的包。

0 投票
2 回答
265 浏览

r - 为什么 XPath 1.0 和 RCurl 与 httr 的结果不同,在表达式之前使用子字符串

当我在表达式中使用 XPath 1.0 的 substring-before 或 -after 时,会发生一些事情,使我的后续 xmlValue 调用引发错误。下面的代码显示 XPath 表达式与 httr 一起工作得很好,但随后不能与 RCurl 一起工作。

上面的代码工作正常,但我想在它之前使用 substring-before 来清理结果,如下所示:

我如何使用substring-以及 RCurl,因为 RCurl 是为以后使用的更复杂操作选择的包?

感谢您的任何指导(或更好的方式来实现我想要的

0 投票
2 回答
1901 浏览

r - 客户端错误:(400)从变量提供 URL 时出现错误请求

我正在尝试使用 Google API 缩短数千个 URL。我正在使用 httr 进行 POST。每当我提供要作为变量发布的 URL 时,我都会收到“客户端错误:(400)错误请求”,但是当直接以字符串形式提供相同的 URL(例如“ http://www.google.com ”)时,一切正常. 下面提供了一个最小的示例:

这将返回错误:客户端错误:(400)错误请求

这工作得很好

我尝试对 URL 进行编码,同时测试了 http 和 https,但以上似乎都没有任何效果。谁能给我任何建议?先感谢您!

-雅切克

0 投票
1 回答
191 浏览

r - 在 R 中更改文件的最后更新日期

我编写了一个小函数,仅当文件本地版本的大小不同时才从我的 S3 数据存储库下载文件,以节省带宽和时间。

当且仅当上次更新日期时间不同时,我想改进它以下载。我可以使用HEAD(来自 httr 包)进行检查以获取远程文件和file.info本地文件的日期时间。

但是(如预期的那样)当我下载文件的新副本时,它将 Sysdate 作为创建/上次更新时间。我需要一种方法来使用来自服务器的更新新本地副本的日期时间,包括由于不同时区引起的潜在问题

file.info 似乎无法写入文件属性。

关于我该怎么做的任何想法?

0 投票
3 回答
2998 浏览

r - R 协商身份验证(使用 RCurl 或 Httr)

我正在尝试使用 RCurl 从 R 访问 Web 服务。Web 服务使用 Kerberos 身份验证。

在命令行上使用 curl 进行测试可以正常工作,例如

但是在 RI 中无法使其工作。

我也尝试使用httpauth设置为 的选项gssnegotiate,但这也失败了。

0 投票
1 回答
179 浏览

httr - Why does httr fail on the MusicBrainz webservice?

When I visit http://musicbrainz.org/ws/2/artist/?query=artist:Sun+Ra in my web browser I get the kind of response I'm expecting.

But when I

the response body is empty, even though sun.ra got status 200:

Does httr have a problem with "naked" XML responses?

This XML file does not appear to have any style information associated with it.


(I actually think I've figured out the answer, just still going to post the question and answer myself in case someone else has the same problem later…)

0 投票
0 回答
339 浏览

r - 为已部署的 R Shiny 应用程序获取 oauth_callback

我有一个使用 Instagram API 的 Shiny 应用程序,并且需要访问令牌。在本地运行时,我可以使用

获取回调 url 以注册 Instagram。部署我的应用程序后,我将如何获取此 url?

此外,这可能是相关的,当部署应用程序时,我收到一个错误:

我从不明确使用 oauth_listener(),所以我不知道如何解决这个问题。我所有的 oauth 相关代码如下:

0 投票
1 回答
5681 浏览

r - How to properly set cookies to get URL content using httr

I need to download information from web site that is protected using cookies. I pass this protection manually and then insert cookies to httr.

Here is similar topic, but it does not solve my problem: (Copying cookie for httr)

So when I use content it return me information, that I am not logged in( as I do without cookie)

How can I solve this problem?

Test credentials are login: mytest2, pass: qwerty12)

0 投票
2 回答
1341 浏览

r - curl POST 语句到 RCurl 或 httr

我有这个工作 curl 语句可以将文件发布到诺基亚的 HERE 批量地理编码服务......

我试过这个:

和这个:

将此文件用作example.txthttps ://gist.github.com/corynissen/4f30378f11a5e51ad9ad

有没有办法在 R 中做这个属性?