R语言curl包携带cookie请求

RCurl is another low level client for libcurl. Of the two low-level curl clients, we recommend using curl. httpRequest is another low-level package for HTTP requests that implements the GET, POST and multipart POST verbs, but we do not recommend its use.

https://cran.r-project.org/web/views/WebTechnologies.html

上面总而言之就是推荐使用curl包,比较好的支持https、下载等。其他包的体验有点不妙。

在静态页面里,rvest包的表现已经足够应对大部分情况。

但遇到动态页面或者需要伪装登陆的请求,就需要用上curl包。

举个例子:携带cookie来请求某api

library(curl) #加载curl

h

handle_setopt(h, cookie = "cookie") # 在handle中的cookie处传入已获得的cookie字串

curl(url = api_url, handle = h) # 对目标api发起请求

这样就可以携带cookie的状态进行请求了,数据请求下来后,可用josnlite、readlines等进行数据整理。

查看文档时,发现handley、Rstudio都是作者之一的,至少说明在,如果rstudio里使用curl包,体验相对更好的。

其他参考:

https://cran.r-project.org/web/packages/curl/vignettes/intro.html#getting_in_memory

https://cran.r-project.org/web/views/WebTechnologies.html

另外再记录下汇总了相关主题的包的网站。

https://cran.r-project.org/web/views/

https://mran.revolutionanalytics.com/taskview

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181212G02VUC00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券