RCurl
如果你使用过某些linux的发行版本,你一定会对一个东西有印象——cURL。一款居家旅行必备的命令行浏览器。如果你没使用过任何像是ubuntu的linux发行版,那么如果你使用的是android手机,下载个终端模拟器,也能使用cURL(前提是预装了busybox,一般都是预装。)。而RCurl就是把cURL与R结合起来了,让你可以从网上面抓些东西。
要在R 中使用RCurl你需要安装这个包,像这样install.packages("RCurl&# 34;)。不过我在安装的时候就出现了错误:
- installing source package ‘RCurl’ ...
** 成功将‘RCurl’程序包解包并MD5和检查
checking for curl-config... no
Cannot find curl-config
ERROR: configuration failed for package ‘RCurl’ - removing ‘/home/better/R/i686-pc-linux-gnu-library/3.2/RCurl’
我使用的是操作系统是ubuntu,这应该是因为缺少依赖,使用 apt-get install 安装了libcurl4-gnutls-dev的依赖就解决了,不知道windows下会不会有这个问题,请看贴子的自己试一下。
好,现在抓点东西看看,首先加载使用刚刚安装好的包:
library("RCurl")
然后如果你对http协议够熟悉的化,我们写一个http头信息:
myHttpheader <- c(
"User-Agent&# 34;="Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1.6) &# 34;,
"Accept&# 34;="text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8&# 34;,
"Accept-Language&# 34;="en-us&# 34;,
"Connection&# 34;="keep-alive&# 34;,
"Accept-Charset&# 34;="GB2312,utf-8;q=0.7,*;q=0.7&# 34;
)
然后我们使用getURL()函数来获取网页,这个是抓网页的第一步:
xueqiupage<- getURL("http://xueqiu/&# 34;,httpheader=myHttpheader)
然后敲下xueqiupage看看抓到了什么:
好吧,虽然比较凌乱,但我们抓到了雪球的网页,这个就是html文件的内容,html文件和上文例子的xml文件没什么区别。