R语言之 从网上抓取数据2

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看看抓到了什么:

155e70cecde6373fdc8e3d74.png

好吧,虽然比较凌乱,但我们抓到了雪球的网页,这个就是html文件的内容,html文件和上文例子的xml文件没什么区别。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容