问题标签 [rcurl]

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 投票
2 回答
2293 浏览

php - 使用 RCurl 登录 php 网站

我想用 R 访问 php 网站
http://centralgreen.com.sg/login.php?login=9-1501&password=mypassword的内容

我在url中传递了一个登录+密码的例子,但是我不知道如何通过url按下登录按钮。

如果可能,我想使用 R 包RCurl

0 投票
1 回答
1210 浏览

r - 使用 RCurl 登录 mediawiki

如何使用 RCurl(或 Curl,我可以将其调整为 R 包)登录到 mediawiki?

我只想解析一个页面,但我需要登录,否则我无法访问它。

0 投票
2 回答
5695 浏览

xml - 使用 XML / RCurl R 包解析 HTML 表,而不使用 readHTMLTable 函数

我正在尝试从单个 html 表中抓取/提取数据:http ://www.theplantlist.org/tpl/record/kew-419248和许多非常相似的页面。我最初尝试使用以下函数来读取表格,但这并不理想,因为我想将每个物种名称分成其组成部分(属/物种/亚种/作者等)。

我使用 SelectorGadget 为要提取的每个表元素标识一个唯一的 XPATH(不一定是最短的):

对于属名: // [contains(concat( " ", @class, " " ), concat( " ", "Synonym", " " ))]// [contains(concat( " ", @class, " " ), concat(" ", "属", " "))]

对于物种名称: // [contains(concat( " ", @class, " " ), concat( " ", "Synonym", " " ))]// [contains(concat( " ", @class, " " ), concat( " ", "物种", " " ))]

对于亚种等级: //*[contains(concat( " ", @class, " " ), concat( " ", "infraspr", " " ))]

对于亚种名称: //*[contains(concat( " ", @class, " " ), concat( " ", "infraspe", " " ))]

对于置信水平(图像): // [contains(concat( " ", @class, " " ), concat( " ", "synonyms", " " ))]//img 对于源: // [contains(concat ( " ", @class, " "), concat(" ", "source", " "))]//a

我现在想将信息提取到数据框/表中。

我尝试使用 XML 包的 xpathSApply 函数来提取其中一些数据:

例如对于亚种等级

然而,这种方法是有问题的,因为数据中的差距(例如,只有一些表的行有一个亚种等级,所以我返回的只是表中三个等级的列表,没有间隙)。数据输出也是我无法附加到数据框的类。

有谁知道从该表中提取信息到数据框中的更好方法?

任何帮助将非常感激!

汤姆

0 投票
2 回答
2741 浏览

r - 如果执行时间过长,如何停止执行 RCurl::getURL()?

有没有办法告诉 R 或 RCurl 包在超过指定时间段时放弃尝试下载网页并转移到下一行代码?例如:

这只会挂在我的系统上,而不是进入最后一行。

编辑:根据@Richie Cotton 下面的回答,虽然我可以“有点”实现我想要的,但我不明白为什么它需要比预期更长的时间。例如,如果我执行以下操作,系统会挂起,直到我在 RGUI 中选择/取消选择“Misc >> Buffered Output”选项:

解决方案:基于@Duncan 下面的帖子,然后查看 curl 文档,我通过使用 maxredirs 选项找到了解决方案,如下所示:

非常感谢你,

托尼·布雷亚尔

0 投票
2 回答
13308 浏览

r - 将 Rcurl 与 HTTP 一起使用

我在 Windows 上的 R 中尝试了以下代码:

但出现以下错误:

如何设置 RCurl 以允许使用 HTTPS?

0 投票
1 回答
1847 浏览

r - ntlm 代理认证 rcurl 问题

我在 ntlm 代理服务器后面,我无法正确设置 rcurl 选项以使其正常工作。显然 curl 使用正确的设置可以正常工作,这些设置是:

但我不知道如何从 R 中正确传递所有这些选项。

我已经做到了:

但这似乎仍然没有奏效。

提前感谢您的任何回复。

0 投票
1 回答
3794 浏览

r - 如何查看 RCurl 选项

有没有办法在 R 会话中查看 curl 选项的当前设置?

我的问题是我在代理后面并且必须设置代理选项才能使连接正常工作,并且在调用 listMarts() 函数(来自 biomaRt 库,使用 getURL())之后,选项被更改(重置?)并且尝试再次调用该函数时连接不起作用。所以我想看看函数调用前后的选项。

设置我使用的选项:

(当我调用 options() 时,我可以看到这些选项的设置,但它们不是我感兴趣的设置,我想要 RCurl 选项)

有任何想法吗?

0 投票
2 回答
2618 浏览

r - RCurl,错误:连接超时

我使用 R 的 XML 和 RCurl 包从网站获取数据。该脚本需要废弃 6,000,000 页,因此我创建了一个循环。

但是,经过几个循环后,我收到错误消息:

curlPerform 中的错误(curl = curl,.opts = opts,.encoding = .encoding):连接超时

问题是我不明白“超时”是如何工作的。有时该过程在 700 页之后结束,而其他时候在 1000、1200 等页面之后结束。台阶不稳定。当连接超时时,我在 15 分钟内无法从笔记本电脑访问此网页。我想过每报废 1000 页使用命令将进程延迟 15 分钟

,但没有任何改变。

任何想法出了什么问题以及如何克服这个问题?

0 投票
1 回答
1719 浏览

r - RCurl,错误:无法连接到主机

我使用 Rstudio 服务器,以及包 RCurl 和 XML。我试图抓取一个网页,但是在成功完成一次之后,我收到了错误消息:

尝试获取 URL 时:

任何想法为什么会发生这种情况?

0 投票
2 回答
1169 浏览

r - RCurl 无法检索网站的完整源文本 - 链接丢失?

我想使用 RCurl 作为礼貌的网络爬虫从网站下载数据。显然我需要科学研究的数据。虽然我有权通过我的大学访问网站的内容,但网站的使用条款禁止使用网络爬虫。

我试图直接向网站管理员询问数据,但他们只是以非常模糊的方式回答。好吧,无论如何,他们似乎不会简单地将底层数据库发送给我。

我现在想要做的是正式要求他们获得一次性许可,以便使用基于 RCurl 的 R 代码从他们的站点下载特定的纯文本内容,其中包括在每个请求执行后延迟三秒。

我想从这样的工作中下载数据的站点的地址: http ://plants.jstor.org/specimen/站点的 ID

我尝试使用 RCurl 对其进行编程,但无法完成。有几件事使事情变得复杂:

  1. 只有在允许cookie的情况下才能访问该网站(我在 RCurl 中使用 cookiefile-argument 进行了访问)。

  2. 下一步按钮仅在用户通过在普通浏览器中单击不同链接实际访问该站点时才会出现在源代码中。在源代码中,Next-button 用一个表达式编码,包括

    当尝试直接访问该站点时(之前没有在同一个浏览器中单击过),它将无法正常工作,带有链接的行根本不在源代码中。

  3. 站点的 ID 是字母和数字的组合(例如“goe0003746”或“cord00002203”),所以我不能简单地在 R 中编写一个 for 循环来尝试从 1 到 1,000,000 的每个数字。

所以我的程序应该模仿一个人通过下一步按钮点击所有网站,每次都保存文本内容。

每次保存站点内容后,它应该等待三秒钟,然后单击下一步按钮(它必须是一个礼貌的爬虫)。我也使用 Sys.sleep 函数在 R 中工作。

我也想过用一个自动化的程序,但是这样的程序好像很多,不知道用哪个。

我也不完全是程序编写者(除了一点点 R),所以我真的很感激一个不包括 Python、C++、PHP 等编程的解决方案。

任何想法将不胜感激!非常感谢您提前提出意见和建议!