标签: httr

使用 R 的 Cookie 请求

我正在尝试将以下 curl 命令转换为 httr/RCurl 以将 cookie 转换为 R。但我不确定如何使用 getURL(...) 或 GET(. ..)

curl --data "j_username=username&j_password=password" http://localhost:8080/myApp/j_spring_security_check --cookie-jar cookies.txt
Run Code Online (Sandbox Code Playgroud)

我能够获取上面命令行 curl 命令创建的 cookie 信息并将其粘贴到 GET 请求中(它有效)。如果我可以在 R 中生成 cookie,那就方便了。

这是我的工作 httr get GET():

GET(dataURL,
   verbose(),
   add_headers("Content-type"="application/json",
               "Accept"="application/json",
               "Accept-Version"=" 1.0",
               "Cookie"="JSESSIONID=24BA7A80A02317AD2B6C87C8D10B6787"
               )
    )
Run Code Online (Sandbox Code Playgroud)

r spring-security rscript rcurl httr

1
推荐指数
1
解决办法
874
查看次数

发送表达到网站领域返回动态结果(图片)

最近,我问了一个类似的问题:发送表达网站的回报动态结果(图片),并得到了无需发送表情到网页的领域terific响应,而是用来完成工作的网址.

我已经发现了一种更好的正则表达式可视化器(由G.格罗滕迪克指出),因为它可以被设置为基于Python的(更靠近于R;例如它允许像lookbehinds (?<=foo)http://www.regexper.com/会因错误) .

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

在此输入图像描述

相同的URL技巧在此处不起作用,因为在输入表达式时URL不会更改,而嵌入式JavaScript将返回结果.

MWE

## Expression
x <- "(?<=foo)\\s*foo[A-Z]\\d{2,3}"
Run Code Online (Sandbox Code Playgroud)

r rcurl httr

1
推荐指数
1
解决办法
113
查看次数

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

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

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

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

起初我认为这是一个非常简单的案例; 毕竟,它只是一个链接,你放在浏览器中查看数据,所以我认为好,这是一个很好的旧的获取请求,我天真地尝试这样的事情:

library(httr)
url <- "https://www.commerzbank.de/de/hauptnavigation/kunden/kursinfo/devisenk/weitere_waehrungen___indikative_kurse/indikative_kurse.jsp"
res1 <- GET(url = url)
Run Code Online (Sandbox Code Playgroud)

由于它不起作用,我检查了网页的工作方式,如下所示.首先,它设置一些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代码运行以下载数据.

是否有任何包/隐藏功能可以帮助我实现这一目标?

提前致谢.

r web-scraping rcurl httr

1
推荐指数
1
解决办法
1283
查看次数

在没有浏览器的情况下在AWS Ubuntu上验证Google表格

我正在AWS"Ubuntu Server 12.04.2"上运行R Studio并通过我的浏览器访问R Studio.

当我尝试使用包googlesheets和代码验证google auth API时: gs_auth(token = NULL, new_user = FALSE, key = getOption("googlesheets.client_id"), secret = getOption("googlesheets.client_secret"), cache = getOption("googlesheets.httr_oauth_cache"), verbose = TRUE)

这里的问题是它将我重定向到本地机器(基于Windows)的浏览器.即使我授权它,它也会重定向到" http:// localhost:1410 /?state = blahblah&code = blahblah " 这样的网址.

在这种情况下如何授权googlesheets?

我甚至尝试从我的Windows机器上传输现有的httr-oauth令牌来删除ubuntu服务器.

ubuntu r ubuntu-12.04 httr r-googlesheets

1
推荐指数
1
解决办法
822
查看次数

如何使用httr包中的oauth2.0_token函数和facebook API?

我有一些依赖于httr包的facebook函数.

通常的程序是必须设置oauth应用程序规范和facebook端点.直到最近,这就像一个魅力,但现在当我尝试通过oauth2.0_token函数获取令牌时,我得到错误:

在浏览器中等待身份验证...按Esc/Ctrl + C中止身份验证完成.Fejl i init_oauth2.0(self $ endpoint,self $ app,scope = self $ params $ scope,:Bad Request(HTTP 400).

你看我的代码如下:

facebook_app <- oauth_app("facebook", key = "XXXX", secret = "YYYY")
  # end point
  facebook_ep <- oauth_endpoint(
    authorize = "https://www.facebook.com/dialog/oauth",
    access = "https://graph.facebook.com/oauth/access_token")
  # token from endpoint and oauth
  fb.token <- oauth2.0_token(facebook_ep, facebook_app, user_params = facebook_ep)
Run Code Online (Sandbox Code Playgroud)

我去过各种帖子和论坛,但我还没有找到解决方案的运气.

r oauth facebook-graph-api oauth-2.0 httr

1
推荐指数
1
解决办法
2008
查看次数

R-从URL / HTML对象/ HTML响应写入HTML文件

我想使用R中的URL保存HTML文件。我试图分别在网站的URL上使用GET和的read_html功能httrrvest程序包保存响应对象,然后在HTML上保存HTML。但这并不能保存网站的实际内容。

url = "https://facebook.com"
get_object = httr::GET(url); save(get_object, "file.html")
html_object = rvest::read_html(url); save(html_object, "file.html")
Run Code Online (Sandbox Code Playgroud)

这些方法都无法将实际网站的正确输出(即.html文件中的网页HTML内容)保存到HTML文件中。

web httr rvest

1
推荐指数
1
解决办法
2566
查看次数

读取 API - 从 Curl 到 R 的代码

我正在尝试使用 R 从经过身份验证的 API 读取 json,但没有成功。

我有 Curl 代码并尝试使用“curlconverter”库将其转换为 R 并尝试使用“httr”库获取它。

curl -X GET \
  'https://api.cartolafc.globo.com/auth/liga/gurudocartola-com?orderBy=campeonato&page=1' \
  -H 'Cache-Control: no-cache' \
  -H 'x-glb-token: mytoken'
Run Code Online (Sandbox Code Playgroud)

我很感激在 R 中编写此代码的解决方案。

r rcurl httr

1
推荐指数
1
解决办法
1298
查看次数

如何在 R 中抓取 JSP 页面?

我想在 R 中抓取以下页面的内容:http : //directoriosancionados.funcionpublica.gob.mx/SanFicTec/jsp/Ficha_Tecnica/SancionadosN.htm

但是,我找不到任何可以帮助我获取信息的 HTML 标记或任何其他工具。

我有兴趣使用“INHABILITADOS Y MULTADOS”部分的信息构建一个数据框,如下图所示:

这是我试图刮的特定选项

选择此选项后,会出现一个包含多个提供程序的菜单,每个提供程序都有一个特定的表格,其中包含我想要回忆的信息。

供应商名单

我终于要爬取的信息

jsp r web-scraping httr rvest

1
推荐指数
1
解决办法
1614
查看次数

检查 R 中是否存在 URL

我想遍历一个 URL 列表,我想知道这些 URL 是否存在。

RCurl提供url.exists()功能。但是,输出似乎不正确,因为例如它说 amazon.com 未注册(这样做是因为url.exists()-function 不返回 200 范围内的值,在 amazon.com 的情况下)它是 405(“不允许的方法”)。

我也试过HEAD()GET()由提供的httr软件包。但有时我会在此处收到错误消息,例如超时或 URL 未注册。

错误消息如下所示:

Error in curl::curl_fetch_memory(url, handle = handle) : Timeout was reached: Connection timed out after 10000 milliseconds

Error in curl::curl_fetch_memory(url, handle = handle) : Could not resolve host: afsadadssadasf.com

当我收到这样的错误时,整个 for 循环就会停止。是否可以继续for循环?我试过tryCatch(),但据我所知,这只有在问题出在数据帧本身时才有帮助。

url r rcurl httr

1
推荐指数
2
解决办法
4899
查看次数

如何为超级边缘编写器休息服务器的POST请求中的参数赋予空值

我正在尝试通过R使用httr包向作曲家休息服务器发出帖子请求.我编写了一个代码,然后从中创建了composer rest服务器.这些是我的细节

请求URL:http:// localhost:3000/api/nl.amis.registry.fruits Body: { "$class": "nl.amis.registry.fruits", "Id": "9", "name": "orange", "description": "string", "count": "" } 首先,我尝试过使用composer rest服务器.出于我的目的,我需要将计数空白,并且该值将被另一个API调用附加.我能够通过计数成功完成交易:"".这我可以检查作曲家游乐场的测试部分.剩下的代码工作正常,稍后会附加count变量.

现在我正在写一个R代码,通过POST请求进行类似的事务.这里我面临一个错误,"count不能为空"并返回错误422 Unprocessable entity.我使用的内容类型是application/json.在使用"count":{}时,post请求进程正常,我在响应中得到"count":[object Object].但后来执行追加的代码将执行类似count的操作:"[object Object],1"其中我期待"count":"1".在composer playground中使用测试时一切正常但是在尝试通过rest API从外部访问时会产生问题.请帮忙.

rest r httr hyperledger hyperledger-composer

1
推荐指数
1
解决办法
185
查看次数