相关疑难解决方法(0)

如何在RCurl中使用cookie?

我正在尝试编写一个通过REST API访问某些数据的R包.但是,API不使用http身份验证,而是依赖cookie来保持会话的凭据.

本质上,我想用两个R函数替换bash脚本中的以下两行:一个用于执行登录,并存储会话cookie,第二个用于获取数据.

curl -X POST -c cookies.txt -d"username=xxx&password=yyy" http://api.my.url/login
curl         -b cookies.txt                               http://api.my.url/data
Run Code Online (Sandbox Code Playgroud)

我显然不明白RCurl如何使用curl选项.我现在的脚本有:

library(RCurl)
curl <- getCurlHandle()
curlSetOpt(cookiejar='cookies.txt', curl=curl)
postForm("http://api.my.url/login", username='xxx', password='yyy', curl=curl)
getURL('http://api.my.url/data", curl=curl)
Run Code Online (Sandbox Code Playgroud)

最终getURL()失败并显示"未登录".来自服务器的消息,并且在postForm()没有cookies.txt文件之后.

curl r rcurl

18
推荐指数
2
解决办法
7675
查看次数

使用R登录.NET站点

我正在尝试使用我的凭据登录到.NET站点但无法使其正常工作.我的代码受到以下主题的启发

如何使用R登录然后从aspx网页下载文件

library(RCurl)
curl = getCurlHandle()
curlSetOpt(cookiejar = 'cookies.txt', followlocation = TRUE, autoreferer = TRUE, curl = curl)
html <- getURL('http://www.aceanalyser.com/Login.aspx', curl = curl)
viewstate <- as.character(sub('.*id="__VIEWSTATE" value="([0-9a-zA-Z+/=]*).*', '\\1', html))
viewstategenerator <- as.character(sub('.*id="__VIEWSTATEGENERATOR" value="([0-9a-zA-Z+/=]*).*', '\\1', html))

params <- list(
  'txtUserID'    = '********',
  'txtPwd'    = '*******',
  'Btn_Login' = 'GO',
  '__VIEWSTATE' = viewstate,
  '__VIEWSTATEGENERATOR' = viewstategenerator,
  'HiddenField1' = '1280',
  'HiddenField2' = '700',
  'Hdn_Pwd' = 'true')

html = postForm('http://www.aceanalyser.com/Login.aspx', .params = params, curl = curl)
grepl('Logout', html)
Run Code Online (Sandbox Code Playgroud)

结果:FALSE

请帮我理解这个问题

r rcurl httr

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

使用R从aspx网站上刮痧

我正在尝试使用R来完成一项任务,以便在网站上搜索数据.

  1. 我想通过以下页面上的每个链接:http://capitol.hawaii.gov/advreports/advreport.aspx? year = 2013 & report = deadline &rpt_type =& measuretype = hb& title = House Bills

  2. 仅选择当前状态显示"已传输到调控器"的项目.例如,http://capitol.hawaii.gov/measure_indiv.aspx?billtype = HB&billnumber = 17&year = 2013

  3. 然后在STATUS TEXT中删除单元格以获取以下子句"通过最终阅读".例如:在SD 2中修改了最终解读,其中代表Fale,Jordan,Tsuji投票赞成保留; 代表Cabanilla,Morikawa,Oshiro,Tokioka投票否(4)并且没有原谅(0).

我已经尝试使用包Rcurl和XML(在R中)的先前示例,但我不知道如何正确使用它们用于aspx站点.所以我希望拥有的是:1.关于如何构建这样的代码的一些建议.2.并建议如何学习执行此类任务所需的知识.

谢谢你的帮助,

汤姆

r web-scraping

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

标签 统计

r ×3

rcurl ×2

curl ×1

httr ×1

web-scraping ×1