标签: rcurl

将 xls 文件从 url 下载到数据框(Rcurl)中?

我正在尝试将以下网址下载到 R 数据框中:

http://www.fantasypros.com/nfl/rankings/qb.php/?export=xls

(这是公共页面上的“导出”链接:http://www.fantasypros.com/nfl/rankings/qb.php/

但是,我不确定如何“解析”数据?我还希望将其自动化并每周执行一次,因此任何有关如何将其构建为每周访问工作流程的想法将不胜感激!已经在 google 搜索和 stackoverflow 上搜索了几个小时了,但没有结果......:-)

谢谢你,

贾斯汀

尝试的代码:

getURL("http://www.fantasypros.com/nfl/rankings/qb.php?export=xls")

这只是给了我一个开头如下的字符串:

[1] "FantasyPros.com \t \nWeek 8 - QB Rankings \t \nExpert Consensus Rankings (ECR) \t \n\n Rank \t Player Name \tTeam \t Matchup \tBest Rank \t Worst Rank \t Ave Rank \t Std Dev \t\n1\tPeyton Manning\tDEN\t vs. WAS\t1\t5\t1.2105263157895\t0.58877509625419\t\t\n2\tDrew Brees\tNO\t vs. BUF\t1\t7\t2.6287878787879\t1.0899353819483\t\t\n3\tA...

xls r geturl rcurl

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

带有 RCurl 的 sftp 协议 - 最后一步,如何将 libcurl 的 R 路径从 usr/lib 更改为 usr/local/lib

首先 - 我知道这不是一个特定的代码问题,所以可以随意投票结束这个问题,但我今天花了大半天的时间来解决这个问题,可以使用一些帮助。我也认为这个线程可以帮助任何试图让 sftp 协议在 R 中工作的人,因为我将分享我今天所做的事情。

我一直在尝试更新 RCurl,使其支持 sftp 协议。在 R 中,我的协议看起来是这样(还有版本和主机):

> library(RCurl)
> curlVersion()$protocols
 [1] "dict"   "file"   "ftp"    "ftps"   "gopher" "http"   "https"  "imap"   "imaps"  "ldap"   "ldaps"  "pop3"   "pop3s"  "rtsp"   "smb"    "smbs"  
[17] "smtp"   "smtps"  "telnet" "tftp" 

> curlVersion()$version
[1] "7.43.0"

> curlVersion()$host
[1] "x86_64-apple-darwin15.0"
Run Code Online (Sandbox Code Playgroud)

不是很好 - 没有 sftp 选项...

我按照这个线程 - http://andrewberls.com/blog/post/adding-sftp-support-to-curl - 在我的机器上更新 curl,并且部分成功。成功部分反映在我在命令行中运行以下内容时:

curl -V 
curl 7.55.1 (x86_64-apple-darwin15.6.0) libcurl/7.55.1 zlib/1.2.5 
libssh2/1.8.0
Release-Date: 2017-08-14
Protocols: dict file ftp gopher http imap ldap ldaps pop3 rtsp scp …
Run Code Online (Sandbox Code Playgroud)

curl r libcurl rcurl

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

如何在 R 中跟踪 url 的任何重定向?

假设我有以下网址:

http://linkinghub.elsevier.com/retrieve/pii/S1755534516300379

当我将其输入到我的标准桌面浏览器时,我被重定向到:

http://www.sciencedirect.com/science/article/pii/S1755534516300379?via%3Dihub

但是,我无法在 R 中实现这一点。我尝试了 httr 和 RCurl 包。在httr的文档中,它说函数GET的使用如下:

library(httr)
GET("http://linkinghub.elsevier.com/retrieve/pii/S1755534516300379")
Run Code Online (Sandbox Code Playgroud)

应该会导致实际使用的网址(在任何重定向之后)。但是调用url时:

GET("http://linkinghub.elsevier.com/retrieve/pii/S1755534516300379")$url
Run Code Online (Sandbox Code Playgroud)

我没有得到最终的重定向。我非常感谢您的帮助!

r rcurl httr

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

使用R填写html表单并下载生成的文件

我花了一天时间在互联网上搜索如何做到这一点的例子,但是我仍然在旋转,并且可以使用一点方向.我是html的新手,具有基本的R编码经验,并且对任何其他编码语言的经验很少.

我有一个500多个(可能更多)气象站的列表,我想从这个网站下载FW13格式的数据(https://fam.nwcg.gov/fam-web/kcfast/html/wxhmenu.htm).在浏览器中,您填写表单,提交表单,它将开始将FW13文件下载到我的默认下载文件夹.

我的目标是使用R填写html表单,提交它,然后接受将结果文件下载到定义的位置.表单本身由文本和单选按钮组成.以下是单个查询的示例:

站ID:020207

开课日期:2000-01-01

截止日期:2017-12-31

观察类型:每小时

计划选项:立即运行

我沿着RCurl和rvest包的兔子洞走下去,甚至开始试用rSelenium.我见过的大多数例子都是直接从网站上抓取信息,但我只想接受下载生成的文件.

如果我只能提交单个请求并下载单个文件,我相信我可以弄清楚如何使用站点ID列表来循环,以实现我所需要的.

我为没有任何示例代码而道歉.我所有的试验都是在黑暗中盲目拍摄,我甚至不确定我是否正在使用正确的包装来完成这项任务.任何帮助或方向非常感谢!

r rcurl rselenium rvest

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

如何查看RCurl选项

有没有办法在R会话中查看curl选项的当前设置?我的问题是我在代理后面并且必须设置连接的代理选项才能工作,并且在调用listMarts()函数后(来自biomaRt库,使用getURL())选项被更改(重置?)和尝试再次调用该函数时连接不起作用.所以我想看看调用函数之前和之后的选项.

设置我使用的选项:

options(RCurlOptions = list(proxy="gateway:port",
                            proxyuserpwd="domain\\username:password",
                            proxyauth="ntlm"))
Run Code Online (Sandbox Code Playgroud)

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

有任何想法吗?感谢名单

r rcurl

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

使用readHTMLTable检索html表

我试图在R中检索SGX网站的价格.

myUrl="http://www.sgx.com/wps/portal/sgxweb/home/marketinfo/securities/etfs/!ut/p/c5/04_SB8K8xLLM9MSSzPy8xBz9CP0os3gjR0cTDwNnA0sDC3cLA0_XsDBfFzcPQ_dQQ6B8JJK8hZG7uYGnoVmgs2GIs7G3qwlJuv1DDYG6Q50CTZzCQg29Pc0I6PbzyM9N1S_IDY0od1RUBADjR8NU/dl3/d3/L2dBISEvZ0FBIS9nQSEh/"  

x=readHTMLTable(myUrl,which="priceTableData")  

Error in function (classes, fdef, mtable)  :    unable to find an inherited method for
function ‘readHTMLTable’ for signature ‘"NULL"’
Run Code Online (Sandbox Code Playgroud)

html r html-table web-scraping rcurl

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

R - 使用RCurl发布登录表单

我是新手使用R发布表单然后从网上下载数据.我有一个问题可能很容易让那里的人发现我做错了什么,所以我感谢你的耐心等待.我有一台Win7 PC和Firefox 23.x是我的典型浏览器.

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

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' …
Run Code Online (Sandbox Code Playgroud)

forms r http-post rcurl

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

使用r httr从Google搜索中搜索网址

我想从Google网络搜索中获取以下网址:

library(httr)
search.term="httr+package+daterange:%3A2456294-2456659"
url.name=paste0("https://www.google.com/search?q=",search.term)
url.get=GET(url.name)
url.content=content(url.get)
Run Code Online (Sandbox Code Playgroud)

然后尝试从结果中获取链接失败:

links <- xpathApply(url.content, "//h3//a[@href]", function(x) xmlAttrs(x)[[1]])
Error in UseMethod("xpathApply") : 
no applicable method for 'xpathApply' applied to an object of class "XMLDocumentContent"
Run Code Online (Sandbox Code Playgroud)

从url.content中获取链接的最佳方法是什么?

xml r rcurl httr

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

找不到htmlToText

我试图运行几个月前写的R脚本.我想下载在线信息,这就是我使用htmlToText函数的原因.即使我已经包含RCurl和XML包,R也找不到这个功能.

library(XML)
library(RCurl)

doc=htmlToText(link)
Error: could not find function "htmlToText"
Run Code Online (Sandbox Code Playgroud)

为什么会这样,我该如何解决错误?

最好的皮特

xml r html-to-text rcurl

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

R中的地址解析IP地址

我已经使用freegeoip.net编写了以下简短代码,以实现IP地址的地理编码自动化(默认情况下每小时15,000个查询;优质的服务!):

> library(RCurl)
Loading required package: bitops
> ip.lst = 
c("193.198.38.10","91.93.52.105","134.76.194.180","46.183.103.8")
> q = do.call(rbind, lapply(ip.lst, function(x){ 
  try( data.frame(t(strsplit(getURI(paste0("freegeoip.net/csv/", x)), ",")[[1]]), stringsAsFactors = FALSE) ) 
}))
> names(q) = c("ip","country_code","country_name","region_code","region_name","city","zip_code","time_zone","latitude","longitude","metro_code")
> str(q)
'data.frame':   4 obs. of  11 variables:
$ ip          : chr  "193.198.38.10" "91.93.52.105" "134.76.194.180" "46.183.103.8"
$ country_code: chr  "HR" "TR" "DE" "DE"
$ country_name: chr  "Croatia" "Turkey" "Germany" "Germany"
$ region_code : chr  "" "06" "NI" ""
$ region_name : chr  "" "Ankara" "Lower Saxony" ""
$ city        : …
Run Code Online (Sandbox Code Playgroud)

ip r geocode rcurl

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

标签 统计

r ×10

rcurl ×10

httr ×2

xml ×2

curl ×1

forms ×1

geocode ×1

geturl ×1

html ×1

html-table ×1

html-to-text ×1

http-post ×1

ip ×1

libcurl ×1

rselenium ×1

rvest ×1

web-scraping ×1

xls ×1