R语言之RCurl实现文件批量下载
前言:
RCurl工具包的作者是由Duncan Temple Lang现任加州大学 U.C. Davis分校副教授。他曾致力于借助统计整合进行信息技术的探索。使用者通过RCurl可以轻易访问网页,进行相关数据的抓取以及下载,为数据分析提供原始素材。近年RCurl在数据分析业界中使用也越来越流行。
Step1:安装RCurl
install.packages('RCurl')
Step2:代码实现
===========================
#利用RCurl包批量下载(抓取)文件
library('RCurl')
html=getURL("http://rfunction.com/code/1202/")
#查看网页源码,之后确定抓取信息的“代码字串”特征
temp=strsplit(html,"<li><a href=\"")[[]] #列表
files=strsplit(temp,"\"") #转义字符“\”
files=lapply(files,function(x){x[]})
#可通过命令“?lapply”查看该函数具体用法
files
class(files)
files=unlist(files) #二维转一维
files=files[-(:)] #剔除特定元素
#----------------
#设置下载目录,循环遍历
setwd('G:\\R_Project\\RCurl抓取的文件') #注意‘\\’转义
dir()
i=
base="http://rfunction.com/code/1202/"
for(i in :length(files)){
url=paste(base,files[i],sep='') #拼接url
temp=getBinaryURL(url) #获取网页内容
note=file(paste("",files[i],sep='.'),open="wb") #文件属性
writeBin(temp,note) #文件写入内容
close(note) #关闭文件
}
Step3:抓取结果

注意:
1)若出现RCurl无法正常安装,请升级R版本。
2)为了防止因频繁访问该网站而被拉进黑名单,建议采用sleep()间隔访问。具体实现方式仅需要在上述代码最后的循环内部加入如下一行代码:
Sys.sleep(2)
结语:
爬虫其实也就这么回事儿~本文利用R语言的RCurl工具包成功抓取到数据,在此也仅仅是给对数据相关分析感兴趣的朋友提供一丝参考而已。
R语言之RCurl实现文件批量下载的更多相关文章
- C#子线程中更新ui-----c# 多线程多文件批量下载
c# 多线程多文件批量下载 废话少说,先演示一张效果图 简单说下过程喽 开发过程中其实总是会碰到项目想应用下载文件~ 看其他语言有很多封装好的类库可以使用~~ 作为小白的我并没有找到很多c#的案例 ...
- SQL 横转竖 、竖专横 (转载) 使用Dapper.Contrib 开发.net core程序,兼容多种数据库 C# 读取PDF多级书签 Json.net日期格式化设置 ASPNET 下载共享文件 ASPNET 文件批量下载 递归,循环,尾递归 利用IDisposable接口构建包含非托管资源对象 《.NET 进阶指南》读书笔记2------定义不可改变类型
SQL 横转竖 .竖专横 (转载) 普通行列转换 问题:假设有张学生成绩表(tb)如下: 姓名 课程 分数 张三 语文 74 张三 数学 83 张三 物理 93 李四 语文 74 李四 数学 84 ...
- Jsp实现筛选并压缩文件批量下载
Jsp实现筛选并压缩文件批量下载 首先明确一下需求,网页端点击一下button,传递特定的参数到download.jsp网页,筛选文件,对过滤得到的文件进行压缩,然后返回前端一个压缩包下载. 以下的代 ...
- R语言如何读取.csv文件
以下是我关于如何在R语言中读取.csv文件及一些需要注意的细节的总结,希望能帮助到大家~
- js 实现多文件批量下载
关于兼容性问题: <a href="xxx.docx" target='_blank'></a> 下载文件时,这种写法是没有兼容性问题:但是下载图片时,IE ...
- R语言从小木虫网页批量提取考研调剂信息
一.从URL读取并返回html树 1.1 Rcurl包 使用Rcurl包可以方便的向服务器发出请求,捕获URI,get 和 post 表单.比R socktet连接要提供更高水 ...
- NET 文件批量下载
HTML <a class="btn btn-warning" id="btnDownload">选中下载</a> JS /* 批量下载 ...
- java+文件批量下载
这篇文章主要介绍了Java实现批量下载选中文件功能,非常不错,具有参考借鉴价值,需要的朋友可以参考下 1.在action中定义变量 private List<String> downLoa ...
- jquery-ajax实现文件批量下载
直接看代码: <script type="text/javascript"> //全选控制 $(document).ready(function() { $(" ...
随机推荐
- 启动PPT的时候一直配置vs2013的问题解决
前几天装了VS2013,结果发现每次启动powerpoint都要配置vs2013,虽然时间花的不多,可我看的就是碍眼,我都想把VS2013卸载来解决了.后来抱着试下的态度竟然在google上找到了解决 ...
- mybatis 3.2.8 + log4j2.0.2 控制台输出sql语句
mybatis3.2.7有一个bug,使用log4j2 (2.0.2)版本时,会找不到类 ,导致启动失败,详见 https://github.com/mybatis/mybatis-3/issues/ ...
- Alpha阶段事后分析报告
每个团队编写一个事后分析报告,对于团队在Alpha阶段的工作做一个总结. 请在2016年11月24日上课之前根据下述博客中的模板总结前一阶段的工作,发表在团队博客上,并在课上的事后分析会上进行汇报,并 ...
- lecture6-mini批量梯度训练及三个加速的方法
Hinton的第6课,这一课中最后的那个rmsprop,关于它的资料,相对较少,差不多除了Hinton提出,没论文的样子,各位大大可以在这上面研究研究啊. 一.mini-批量梯度下降概述 这部分将介绍 ...
- C# 7.0 新特性3: 模式匹配
本文参考Roslyn项目Issue:#206,及Docs:#patterns. 1. C# 7.0 新特性1: 基于Tuple的“多”返回值方法 2. C# 7.0 新特性2: 本地方法 3. C# ...
- Chrome 监听 console 打开
这个算是 Chrome only 其他的我没测试,也不想测试.因为我的控制台脚本仅仅在 Chrome 下加载. 如果你需要全平台,那么这肯定不是你需要的结果. 需求 其实我很早就想折腾这个了,但是,, ...
- Display: table-cell实现img、文字垂直居中
在文章开头先说明一下此方法的兼容性,IE8+以及其他现代浏览器都支持此属性. 直接献上一个demo吧 <!DOCTYPE html> <html> <head> & ...
- PHP 页面跳转方法
1.php header()函数跳转 PHP的header()函数非常强大,其中在页面url跳转方面也调用简单,使用header()直接跳转到指定url页面,这时页面跳转是302重定向: $url = ...
- 【AHOI2014复仇】
RT,NOIP全挂,屌丝要逆袭……原本准备在QQ空间写,结果发现打不开,然后发现了这个……
- C语言strcat()函数:连接字符串
头文件:#include <string.h> strcat() 函数用来连接字符串,其原型为: char *strcat(char *dest, const char *src); ...