R语言之RCurl实现文件批量下载

R语言之RCurl实现文件批量下载

前言:

  RCurl工具包的作者是由Duncan Temple Lang现任加州大学 U.C. Davis分校副教授。他曾致力于借助统计整合进行信息技术的探索。使用者通过RCurl可以轻易访问网页,进行相关数据的抓取以及下载,为数据分析提供原始素材。近年RCurl在数据分析业界中使用也越来越流行。

Step1:安装RCurl

install.packages(‘RCurl‘)

Step2:代码实现

===========================

 1 #利用RCurl包批量下载(抓取)文件
 2
 3 library(‘RCurl‘)
 4
 5 html=getURL("http://rfunction.com/code/1202/")
 6
 7 #查看网页源码,之后确定抓取信息的“代码字串”特征
 8
 9 temp=strsplit(html,"<li><a href=\"")[[1]]   #列表
10
11 files=strsplit(temp,"\"")   #转义字符“\”
12
13 files=lapply(files,function(x){x[1]})
14
15 #可通过命令“?lapply”查看该函数具体用法
16
17 files
18
19 class(files)
20
21 files=unlist(files)    #二维转一维
22
23 files=files[-(1:2)]     #剔除特定元素
24
25
26
27 #----------------
28
29 #设置下载目录,循环遍历
30
31 setwd(‘G:\\R_Project\\RCurl抓取的文件‘)     #注意‘\\’转义
32
33 dir()
34
35 i=1
36
37 base="http://rfunction.com/code/1202/"
38
39 for(i in 1:length(files)){
40
41 url=paste(base,files[i],sep=‘‘)    #拼接url
42
43 temp=getBinaryURL(url)    #获取网页内容
44
45 note=file(paste("1202",files[i],sep=‘.‘),open="wb")   #文件属性
46
47 writeBin(temp,note)     #文件写入内容
48
49 close(note)         #关闭文件
50
51 }

Step3:抓取结果

注意:

1)若出现RCurl无法正常安装,请升级R版本。

2)为了防止因频繁访问该网站而被拉进黑名单,建议采用sleep()间隔访问。具体实现方式仅需要在上述代码最后的循环内部加入如下一行代码:

Sys.sleep(2)  

结语:

  爬虫其实也就这么回事儿~本文利用R语言的RCurl工具包成功抓取到数据,在此也仅仅是给对数据相关分析感兴趣的朋友提供一丝参考而已。

时间: 2024-10-21 10:29:31

R语言之RCurl实现文件批量下载的相关文章

struts2实现文件批量下载

大家都知道struts2提供了文件下载的功能,很方便很好用.废话不多说直接开始. 首先我们先对struts.xml进行配置,struts2的result 类型设为stream,请看如下配置: <span style="font-size:18px;"> <result name="toDownload" type="stream"> <param name="bufferSize">2048

R语言从小木虫网页批量提取考研调剂信息

一.从URL读取并返回html树     1.1 Rcurl包         使用Rcurl包可以方便的向服务器发出请求,捕获URI,get 和 post 表单.比R socktet连接要提供更高水平的交互,并且支持 FTP/FTPS/TFTP,SSL/HTTPS,telnet 和cookies等.本文用到的函数是basicTextGatherer和getURL.想详细了解这个包的可以点击参考资料的链接. R命令: h <- basicTextGatherer( )   # 查看服务器返回的头

c# 多线程多文件批量下载

废话少说,先演示一张效果图 简单说下过程喽 开发过程中其实总是会碰到项目想应用下载文件~ 看其他语言有很多封装好的类库可以使用~~ 作为小白的我并没有找到很多c#的案例可参考 后找到一款"MutThreadDownLoadFile"的demo 但是每次使用感觉并不方便,另外可用信息可扩展不是特别强.. 然后重新改进并封装了类库的形式,可以简单使用 贴出此demo的代码看一下 public Form1() { InitializeComponent(); } DownLoadFile d

R语言:读入txt文件中文文本出现乱码解决方案

下载安装 readr 因为使用内置函数 read.table() 读入应该是格式不符合要求会报错 1 library(readr) 2 help(package="readr") 可以使用里面的 read_table(),下面来检测一下 1 library(dplyr) 2 read.table('E:\\forpython\\chapters\\chap1.txt') %>% head() 3 read_table('E:\\forpython\\chapters\\chap1

《数据结构与算法分析Java语言描述》PDF文件免费下载

图书简介: 本书是国外数据结构与算法分析方面的经典教材,使用卓越的Java编程语言作为实现工具讨论了数据结构(组织大量数据的方法)和算法分析(对算法运行时间的估计). 随着计算机速度的不断增加和功能的日益强大,人们对有效编程和算法分析的要求也不断增长.本书把算法分析与最有效率的Java程序的开发有机地结合起来,深入分析每种算法,内容全面.缜密严格,并细致讲解精心构造程序的方法. 图书目录部分截图: 结语:总结 数据结构与算法分析需要这份PDF文档的朋友,欢迎加Q群:219571750,免费领取,

用R语言进行文件系统管理

阅读导读: 1.R语言如何检查文件或目录是否存在?如何重命名一个文件? 2.R语言如何查看和修改目录的权限? 3.R语言如何删除一个文件? 4.用R语言管理一个文件系统时,都有哪些特殊的目录? 5.如何查看R软件指定包所在目录? 1. 文件系统介绍 计算机的文件系统是一种存储和组织计算机数据的方法,它使得对其访问和查找变得容易,文件系统使用文件和树形目录的抽象逻辑概念代替了硬盘和光盘等物理设备使用数据块的概念,用户使用文件系统来保存数据不必关心数据实际保存在硬盘(或者光盘)的地址为多少的数据块上

R语言读取EXCEL文件的各种方法

最近初学R语言,在R语言读入EXCEL数据格式文件的问题上遇到了困难,经过在网上搜索解决了这一问题,下面归纳几种方法,供大家分享: 第一:R中读取excel文件中的数据的路径: 假定在您的电脑有一个excel文件,原始的文件路径是:D:\work\data\1 如果直接把这个路径拷贝到R中,就会出现错误,原因是: \是escape character(转义符),\\才是真正的\字符,或者用/ 因此,在R中有两种方法读取该路径: 1:在R中输入一下路径:D:\\work\\data\\1     

R语言中文社区历史文章整理(类型篇)

R语言中文社区历史文章整理(类型篇) R包: R语言交互式绘制杭州市地图:leafletCN包简介 clickpaste包介绍 igraph包快速上手 jiebaR,从入门到喜欢 Catterplots包,让你绘制不一样的图 今天再来谈谈REmap包 ggplot2你需要知道的都在这... R访问数据库管理系统(通过RODBC包和RMySQL包两种方式) NLP--自然语言处理(三)text2vec包 Rattle:数据挖掘的界面化操作 借助caret包实现特征选择的工作 R语言的高质量图形渲染

C# 调用R语言

在.net项目中需要调用Matlab生成的DLL,但是在调用过程中报错,截图如下: 在网上搜索一下资料,看到该博客:https://cn.mathworks.com/matlabcentral/newsreader/view_thread/282351 知道了我调用的DLL中有Matlab工具箱里面的函数,Matlab不允许某些工具箱中的工具被封装成DLL,于是就出现了上图所示的错误. 然后想用R语言实现. 1.先下载R软件:http://mirrors.opencas.cn/cran/,选择b