R - 使用 RCurl 发布登录表单

2023-12-26

我刚开始使用 R 发布表单,然后从网上下载数据。我有一个问题,对于其他人来说可能很容易发现我做错了什么,所以我感谢您的耐心等待。我有一台 Win7 PC,Firefox 23.x 是我的典型浏览器。

我正在尝试发布显示的主要表格

http://www.aplia.com/ http://www.aplia.com/

我有以下 R 脚本:

your.username <- 'username'
your.password <- 'password'
setwd( "C:/Users/Desktop/Aplia/data" )

require(SAScii) 
require(RCurl)
require(XML)
agent="Firefox/23.0" 

options(RCurlOptions = list(cainfo = system.file("CurlSSL", "cacert.pem", package = "RCurl")))
curl = getCurlHandle()
curlSetOpt(
cookiejar = 'cookies.txt' ,
useragent = agent,
followlocation = TRUE ,
autoreferer = TRUE ,
curl = curl
)

# list parameters to pass to the website (pulled from the source html)
params <-
list(
'userAgent' = agent,
'screenWidth' = "",
'screenHeight' = "",
'flashMajor' = "",
'flashMinor' = "",
'flashBuild' = "",
'flashPatch' = "",
'redirect' = "",
'referrer' = "http://www.aplia.com",
'txtEmail' = your.username,
'txtPassword' = your.password 
    )

# logs into the form
html = postForm('https://courses.aplia.com/', .params = params, curl = curl)
html

# download a file once form is posted
html <-
getURL(
"http://courses.aplia.com/af/servlet/mngstudents?ctx=filename" ,
curl = curl
)
html

但从那里我可以看出我没有得到我想要的页面,因为返回到 html 的是一条重定向消息,似乎要求我再次登录(?):

"\r\n\r\n<html>\r\n<head>\r\n    <title>Aplia</title>\r\n\t<script language=\"JavaScript\" type=\"text/javascript\">\r\n\r\n        top.location.href = \"https://courses.aplia.com/af/servlet/login?action=form&redirect=%2Fservlet%2Fmngstudents%3Fctx%3Dfilename\";\r\n    \r\n\t</script>\r\n</head>\r\n<body>\r\n    Click <a href=\"https://courses.aplia.com/af/servlet/login?action=form&redirect=%2Fservlet%2Fmngstudents%3Fctx%3Dfilename\">here</a> to continue.\r\n</body>\r\n</html>\r\n"

尽管我确实相信一旦表单成功发布(在浏览器中手动),就会发生一系列重定向。我如何判断表格是否正确发布?

我非常确定,一旦我能让帖子正常工作,我就可以毫无问题地指导 R 下载我需要的文件(本学期我的 500 名学生中每个人的在线活动报告)。但花了几个小时研究这个并陷入困境。也许我需要使用 RCurl 包设置更多与 cookie 有关的选项(因为该网站确实使用 cookie)---?

非常感谢任何帮助!我通常使用 R 来处理统计数据,因此对这些包和函数很陌生。


答案最终非常简单。由于某种原因,我没有看到需要包含在其中的一个选项postForm:

html = postForm('https://courses.aplia.com/', .params = params, curl = curl, style="POST")

就是这样...

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R - 使用 RCurl 发布登录表单 的相关文章

  • 将数据框中的每个 x 个字符拆分为字符串

    我知道这里有一些关于每隔一段时间分割一个字符串的答案nth字符 例如this one https stackoverflow com questions 23208490 split each character in r and this
  • 将绘图调用拆分为多个块

    我正在编写一个图的解释 其中我基本上将在第一个块中创建图 然后描述该输出 并在第二个块中添加一个轴 然而 似乎每个块都会强制一个新的绘图环境 因此当我们尝试使用以下命令运行块时会出现错误axis独自的 观察 output html docu
  • twitterR 和 ROAuth R 软件包安装

    我在安装 CRAN 上的 twitteR 和 RAOuth 软件包时遇到一些问题 我尝试了几种不同的方法 在 Windows 下使用源代码 在 Ubuntu 下使用 RStudio 我尝试了以下命令 sudo apt get install
  • Purrr::map_df() 删除 NULL 行

    使用时purrr map df 我偶尔会传递一个数据框列表 其中一些项目是NULL 当我做 map df 返回行数少于原始列表的数据框 我想发生的事情是这样的map df calls dplyr bind rows 它忽略了NULL价值观
  • 如何在Yii框架中向Form添加类?

    我在 Yii 中有一个表单 我想向该表单添加一个类
  • R 中的列乘以子字符串

    假设我有一个数据框 其中包含多个组件及其在多个列中列出的属性 并且我想对这些列运行多个函数 我的方法是尝试将其基于每个列标题中的子字符串 但我无法弄清楚如何做到这一点 下面是数据框的示例 Basket F Type 1 F Qty 1 F
  • ggplot2 geom_密度和geom_histogram在一个图中

    如何制作一个所有条形加起来为 1 的直方图 并在适合的上方添加一个密度层 set seed 1234 df lt data frame sex factor rep c F M each 200 weight round c rnorm 2
  • ddply 和aggregate 之间的区别

    有人可以通过以下示例帮助我了解聚合和 ddply 之间的区别 数据框 mydat lt data frame first rpois 10 10 second rpois 10 10 third rpois 10 10 group c re
  • 文本挖掘 pdf 文件/词频问题

    我正在尝试挖掘一篇具有丰富 pdf 编码和图表的文章的 pdf 我注意到 当我挖掘一些 pdf 文档时 我得到的高频词是 phi taeoe toe sigma gamma 等 它与某些 pdf 文档配合良好 但与其他文档配合使用时却得到这
  • 如何仅删除单括号并保留配对的括号

    你好 我亲爱的老师 R 用户朋友们 我最近开始认真学习正则表达式 最近我遇到了一种情况 我们只想保留配对括号 并省略未配对的 这是我的样本数据 structure list t1 c Book Pg 1 Website Online Jou
  • 如何从 R keras 中的类似生成器的数据中评估()和预测()

    我有以下代码 数据集可以下载here https www dropbox com s qjt5o31oyqj10m8 data tar gz dl 0 or here https www kaggle com c dogs vs cats
  • 为什么 R 更新后 sim_slopes() 中会出现此错误?

    我正在尝试使用 交互 包来创建简单斜率的约翰逊 尼曼图 但是 当尝试运行 sim slopes 函数时 出现以下错误 直到我将R更新到4 2 2 我才没有遇到这个问题 我使用的是 macOS Ventura 13 1 Error class
  • 纵向比较 R 中的值...并进行扭转

    我有许多人在多达四个时间段进行的测试结果 这是一个示例 dat lt structure list Participant ID c A A A A B B B B C C C C phase structure c 1L 2L 3L 4L
  • 如何从 R 读取 PDF 元数据

    我们很好奇 有没有一种方法可以从 R 读取 PDF 元数据 例如下面显示的信息 通过搜索我对此无能为力 r pdf metadata在当前的问题库中 非常欢迎任何指点 我想不出纯 R 的方法来执行此操作 但您可能可以安装您最喜欢的 PDF
  • 在 HTTPResponse Android 中跟踪重定向

    我需要遵循 HTTPost 给我的重定向 当我发出 HTTP post 并尝试读取响应时 我得到重定向页面 html 我怎样才能解决这个问题 代码 public void parseDoc final HttpParams params n
  • 使用 template.docx 从 Shiny App 编织 Word 文档

    我正在尝试使用 template docx 文件从闪亮的应用程序编写一个 Word 文档 我收到以下错误消息 pandoc exe template docx openBinaryFile 不存在 没有这样的文件或目录 以下 3 个文件当前
  • Jquery一键提交多个同名表单

    我有动态创建的循环表单 我需要一键提交所有表单 我正在遵循下面的代码 你能建议我怎么做吗 谢谢
  • Shiny:动态数据框构建; renderUI、观察、reactiveValues

    我认为如何使用 Shiny 的 renderUI 功能动态子集数据的问题经常出现 但我很难理解何时使用 renderUI 带有 uiOutput 而不是其他功能 包括观察 反应 反应值甚至条件面板 我想构建一个完全交互式的数据框架 其中每个
  • 如何将plot中的单变量列表图表转换为ggplot2格式?

    我正在搜索 但仍然找不到一个非常简单的问题的答案 我们如何使用 R 中的 ggplot2 生成一个变量的简单线图 我正在分析时间序列数据 并且想要对图表进行更复杂的操作 我认为如果我使用 ggplot2 代替会更好plot It works
  • 如何使用 dplyr 独立过滤每列的行

    我有以下内容 library tidyverse df lt tibble tribble gene colB colC a 1 2 b 2 3 c 3 4 d 1 1 df gt A tibble 4 x 3 gt gene colB c

随机推荐

  • 谁负责缓存/记忆函数结果?

    我正在开发允许用户通过实现一组接口来扩展系统的软件 为了测试我们正在做的事情的可行性 我的公司 吃自己的狗粮 通过以与用户完全相同的方式在这些类中实现我们所有的业务逻辑 我们有一些实用程序类 方法将所有内容联系在一起并使用可扩展类中定义的逻
  • CloudFront 分发和 AWS 颁发的证书给出 SSL_ERROR_NO_CYPHER_OVERLAP

    我无法使用 AWS 证书使 Internet CloudFront S3 Bucket 正常工作 这就是我所做的 创建了一个证书 一个通配符证书 例如 mydomain example 创建了一个 S3 存储桶 无需修改属性 创建 Clou
  • 无法向(猫鼬)对象添加附加元素

    我有一个 Nodejs Express 应用程序 带有一个 api 用于从 mongodb 数据库返回数据 这是我的猫鼬模型 const bookingSchema new mongoose Schema timestamp type Da
  • 如何在使用 Jquery 单击 TR 时获取所有 TD 数据

    我有一个包含多行的表 我想在单击特定行后获取所有 TD 数据 我的桌子是 table tr class person td class id 1900 td td class name John td td class gender Mal
  • Perl - while (<>) 文件处理[重复]

    这个问题在这里已经有答案了 一个简单的程序while lt gt 处理作为参数给出的文件 program 1 file 2 file 3 file 和 Unix 系统的标准输入 我认为它将它们连接在一个文件中 并且逐行工作 问题是 我如何知
  • Django - 保存用户后获取用户ID

    我正在使用 Python 3 7 和 Django 2 2 开发一个项目 其中我为多种类型的用户实现了模型 并通过使用组合模型MultiModleForm在前端显示为单个表单 之后当我尝试在视图中创建用户并调用保存方法时user模型并尝试得
  • 设置 phpmyadmin 登录启用

    我想在进入 directlt 之前启用 phpmyadmin 的登录页面 为此 我在 config inc php 中修改了该行 cfg Servers i AllowNoPassword true to cfg Servers i All
  • 如果在树视图中选中任何单个子节点,则选择父节点

    我有一个具有一些父节点和子节点的树视图 如果选择子节点 则应选择父节点 此功能工作正常 但如果父节点有多个子节点 并且我检查了多个子节点并取消选中单个子节点 则父节点将被取消选中 我已经完成了一些代码 用于在选择子节点时选择父节点 priv
  • 在Cocoa中打印WebView的全部内容,而不仅仅是显示

    所以我目前正在尝试打印一个已加载到 Cocoa 应用程序中的 WebView 中的 pdf 该 PDF 的大小适合您想要查看整个内容时必须滚动的位置 问题是 每当打印时 它只打印 WebView 中当前显示的内容 而不是整个页面 代码如下
  • 在 swift 中创建 json

    我想在 swift 中创建一个像这样的 json test1 0 test2 1435659978 test3 1430479596 我怎样才能创建这个json 创建您的对象 在本例中是一个字典 let dic test1 0 test2
  • 如何打开Linux默认的文本编辑器?

    我需要在没有文件的情况下打开 Linux 中的默认文本编辑器 我知道我可以使用该命令xdg open https wiki archlinux org title User Larivact xdg open在默认编辑器中打开文件 但我需要
  • python 多处理/线程代码提前退出

    我正在尝试创建多个进程 每个进程调用多个线程 我正在使用 python3 5 运行以下代码 该问题的一个简化示例如下所示 import multiprocessing import time import threading class d
  • 移动到 Cloudfront + SSL 后,应用程序中的 React 路由器链接损坏

    我有一个 React 应用程序 使用托管在 S3 存储桶中的 React router 并使用 Route53 作为 DNS 提供商 该应用程序在 Route53 配置指向 S3 存储桶时运行良好 由于我想使用 SSL 因此我创建了一个指向
  • 底部有锯齿形边框的容器仅适用于边框

    我试图制作一个底部有锯齿形边框的容器 如下所示 我尝试了这个 但我不知道如何获取底部灰色背景的突袭 我只希望边框像图像一样是灰色的 任何人都可以帮忙吗 https jsfiddle net umw8yh21 1 https jsfiddle
  • SpriteKit Swift:触摸移动物体

    我有一个 Color Sprite 对象 它可以在墙上移动和弹跳 当我抓住它并在屏幕上触摸它时 如何使其消失 你必须为你的精灵设置一个名称 例如 ballNode 然后在 touchesBegan 函数中你可以处理它 override fu
  • 如何在不使用 TransactionScope 的情况下使用 EF4 Code First CTP5 分配事务?

    我正在尝试对实时数据库执行功能测试 以确保我的 linq 查询正确转换为 SQL 我想通过使用事务来做到这一点 以便一个功能测试不会影响另一个功能测试 问题是 我无法在 API 中找到任何正确使用事务的方法 我可以检索一个新的DbTrans
  • 使用 JavaScript/jQuery 检测 Android 后退按钮

    目前我想做一个函数来检测Android后退按钮被按下并对其执行一些操作 用户打开应用程序 然后单击按钮 该按钮允许用户打开网站 用户在第2页填写信息 想要返回上一页 点击Android手机上的后退按钮 返回按钮可帮助用户关闭网站并返回到我的
  • SoapUI 模拟异步服务

    在访问真正的 Web 服务之前 我们使用 SoapUI 来模拟 Web 服务来测试我们的应用程序 APP 创建将返回预定义响应的同步模拟服务非常简单 然而我不得不嘲笑一些异步当 APP 发送请求的服务时 SoapUI 立即回复确认 例如 S
  • 箭头(->)运算符优先级/优先级最低,或者赋值/组合赋值的优先级最低?

    JLS https docs oracle com javase specs jls se8 html jls 15 html The 最低优先级运算符是 lambda 表达式的箭头 gt followed由赋值运算符 遵循哪个方向 增加优
  • R - 使用 RCurl 发布登录表单

    我刚开始使用 R 发布表单 然后从网上下载数据 我有一个问题 对于其他人来说可能很容易发现我做错了什么 所以我感谢您的耐心等待 我有一台 Win7 PC Firefox 23 x 是我的典型浏览器 我正在尝试发布显示的主要表格 http w