RCurl来了-RCurl三大函数初识

转载请注明出处啊喂!

http://blog.csdn.net/jansii/article/details/38757627


看一眼Temple Lang提供的RCurl介绍文档,里面看起来函数不少,但例子又不多,足够让人看得七荤八素了。

以下是自己总结的RCurl三大函数,三个大boss。


简而言之,getURL读脚本,getForm提交URL可见的参数再读回响应体,postForm提交隐藏的数据再得到返回结果。

当然如果想要完成爬虫功能的话,会字符串处理功能那是极好的,不会的话……就去学吧。


上篇文章   “RCurl来了-从数据抓取讲起”   已经总结了浏览器与服务器交互过程以及相应问答信息,这里就不赘述了,说说看如何用RCurl把这些参数调出来看吧。


首先一个小函数

###url.exists

url.exists("http://www.baidu.com")

url.exists("ftp.wcc.nrcs.usda.govx")

会返回“TRUE”或“FALSE”回答此URL是否存在。也就是说当我们后面要抓网页的时候,大可使用以下的防御式编程模式:

if( url.exists(URL) ){ cat("get it!") }

来防止读取出错。


d= debugGatherer()

#设置一个用来回传信息的函数,会累积,可重新跑几次看看

temp<- getURL("http://www.dataguru.cn",debugfunction=d$update,verbose= TRUE)

d的value中就已经包含了交互的信息,可以用cat进行查看~


同样的道理,basicTextGatherer()以及basicHeaderGatherer()跟debugGatherer()的作用是类似的,

可以用来查看服务器端返回的头信息,前者是字符串形式,后者返回列表形式(比较容易看辣)


截个图证明我没有说谎:


通过以下方法返回的信息更加丰富,包括响应时间、连接时间等等。如果我们在测试代理服务器的效用,也就是它的响应时间长短,就可以用这个提取出来:

curl= getCurlHandle()

destination=getURL("http://www.dataguru.cn/",curl = curl)

getCurlInfo(curl)


names(getCurlOptionsConstants())通过这个指令可以查看参数,有170+个之多

不赘述,需要的时候就查了用吧。可以参考curl,甚至从pycurl一窥究竟呢~


用GoogleHK测试一下getForm,反应很慢……


getForm("http://www.google.com.hk/search",q ="RCurl",hl = "en", ie = "ISO-8859-1", oe = "ISO-8859-1",btnG = "Google+Search")


postForm复杂多了……

等有空再更……

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值