首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在ruby中快速下载大量网页?并行下载?

如何在ruby中快速下载大量网页?并行下载?
EN

Stack Overflow用户
提问于 2009-02-17 16:58:58
回答 2查看 1.2K关注 0票数 3

我需要抓取(使用scrAPI) 400+网页ruby,我的实际代码是非常连续的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
data = urls.map {|url| scraper.scrape url }

实际上,代码有点不同(异常处理和其他东西)。

我怎么才能让它更快呢?如何并行化下载?

EN

回答 2

Stack Overflow用户

发布于 2009-02-17 17:02:58

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
th = []
data = []
dlock = Mutex.new

urls.each do |url|
  th << Thread.new(url) do |url|
    d = scraper.scrape url
    dlock.synchronize { data << d }
  end
end

th.each { |t| t.join }

塔达!(注意;从内存中写入,未测试,可能会吃掉你的小猫,等等)

编辑:我想一定是有人写了一个通用的版本,所以他们就写了:http://peach.rubyforge.org/ --享受!

票数 5
EN

Stack Overflow用户

发布于 2009-02-17 17:04:31

这是一个很好的例子,用来解释线程:

http://www.rubycentral.com/pickaxe/tut_threads.html

您应该能够很容易地调整挑叉代码,以使用您的刮刀。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/559420

复制
相关文章
Python 按分类权重(区间)随机获取分类样本
活动抽奖,参与抽奖产品有iphone, 华为,小米,魅族,vivo,三星手机,要求为这些不同品牌的手机设置被抽奖的概率(基准概率,非绝对概率,即允许存在一定偏差),iphone为0,华为0.35,小米为0.25, 魅族0.1,vivo和三星为0.15
授客
2020/11/24
9510
Python 按分类权重(区间)随机获取分类样本
如何在Redhat中配置R环境
R是一套完整的数据处理、计算和制图软件系统。其功能包括:数据存储和处理系统;数组运算工具(其向量、矩阵运算方面功能尤其强大);完整连贯的统计分析工具;优秀的统计制图功能;简便而强大的编程语言:可操纵数据的输入和输出,可实现分支、循环,用户可自定义功能。本文档主要讲述如何在Redhat中使用源码方式编译安装及配置R的环境。
Fayson
2018/03/29
3K0
如何在Redhat中配置R环境
如何在R中绘制热力地图
本文介绍了如何利用R语言中的maps包和mapdata包绘制地图,并通过热力地图展示数据分布情况。首先,通过map()函数创建地图对象,并获取每个区域的名字以及顺序。然后,在每个区域的名字和顺序后面,加上需要展示的数据以及经纬度。接着,根据数据的大小设置每个区域的颜色深浅,以区分不同的区域。最后,给地图加上地名标记,并添加热力地图元素。
Erin
2018/01/09
3.2K0
如何在R中绘制热力地图
如何在R中创建日历热图
首先,我们运行Paul Bleicher创建的calendarHeat函数以显示日历热图。 其次,我们创建一些随机的时间序列数据。 最后,我们在两个调色板中绘制时间序列。
用户1359560
2020/04/01
4.5K0
如何在R中创建日历热图
如何在R中绘制树图(TreeMap)
本文介绍了如何利用R语言中的Treemap函数绘制树图,并给出了一个实例,包括使用安装包、设定颜色范围、边框颜色、节点大小、填充颜色等参数。同时还介绍了两种方法,一是通过aggregate函数对数据进行分组,二是通过手动设置index和vSize、vColor、type等参数来绘制树图。
Erin
2018/01/09
5.3K0
如何在R中绘制树图(TreeMap)
如何在30天内,快速累积权重!
我们知道当一个新站建立的时候,快速累积权重很重要,它有利于提高搜索引擎的信任评级,最重要的一点就是有利于友情链接交换,快速的积累相关行业资源。
蝙蝠侠IT
2019/07/12
6110
如何在30天内,快速累积权重!
如何在CDSW中使用R绘制直方图
Cloudera的新产品CDSW(Cloudera Data Science Workbench)集成了R、Scala、Python2、Python3等语言进行统计和数据分析。本文档主要讲述如何在CDSW中使用R语言绘制直方图和饼图,并使用Hive数仓作为数据源。
Fayson
2018/03/29
3.4K0
如何在CDSW中使用R绘制直方图
【R语言】heatmap显示样本类型
今天我们接着讲绘制热图时候的一个小技巧,如何显示样本的类型。我们经常还在文章中看到类似下面这样的热图。会在列的上方用颜色标注样本的类型。这样可以一目了然的看出找到的差异表达基因能否很好的将不同类型的样本区分开。今天我们就来用R代码来实现。
生信交流平台
2022/09/21
6780
【R语言】heatmap显示样本类型
如何用R获取GEO样本信息
以GSE111229为例 方法一 1 下载并保存GEO数据 下载有error可以:设置镜像、访问外国网站、rm(list=ls())一下重试… library(GEOquery) GSE_name = 'GSE111229' options( 'download.file.method.GEOquery' = 'libcurl' ) #windows系统 gset <- getGEO( GSE_name, getGPL = F ) save( gset, file = 'gset.R
生信技能树
2019/05/08
1.8K0
如何用R获取GEO样本信息
SIGIR'23 清华 | 会话推荐中的兴趣趋势挖掘与样本权重自适应分配
标题:Mining Interest Trends and Adaptively Assigning Sample Weight for Session-based Recommendation 地址:https://arxiv.53yu.com/pdf/2306.11610.pdf 会议:SIGIR 2023 学校:清华
秋枫学习笔记
2023/08/18
4920
SIGIR'23 清华 | 会话推荐中的兴趣趋势挖掘与样本权重自适应分配
R语言系列第四期:①R语言单样本双样本差异性检验
之前详细介绍了利用R语言进行统计描述,详情点击:R语言系列第三期:③R语言表格及其图形展示、R语言系列第三期:①R语言单组汇总及图形展示、R语言系列第三期:②R语言多组汇总及图形展示
微点
2019/05/11
2.1K0
R语言参数检验 :需要多少样本?如何选择样本数量
参数检验受制于数据属性的假设。例如,t检验是众所周知的参数检验,假设样本均值具有正态分布。由于中心极限定理,如果样本量足够,测试也可以应用于非正态分布的测量。在这里,我们将研究t检验有效所需的大致样本数。
拓端
2020/11/11
7320
R语言参数检验 :需要多少样本?如何选择样本数量
R语言系列第四期:①R语言单样本双样本差异性检验
之前详细介绍了利用R语言进行统计描述,详情点击:R语言系列第三期:③R语言表格及其图形展示、R语言系列第三期:①R语言单组汇总及图形展示、R语言系列第三期:②R语言多组汇总及图形展示
百味科研芝士
2019/05/23
1.8K0
如何在R中操作非结构化数据?
本文由CDA作者库成员HarryZhu原创,并授权发布。 CDA作者库凝聚原创力量,只做更有价值的分享。 介绍 现代化数据科学中的 DataFrame 概念源起R语言,而 Python Pandas
CDA数据分析师
2018/02/24
3.3K0
如何在R中操作非结构化数据?
如何在Redhat中安装R的包及搭建R的私有源
继上一章如何在Redhat中配置R环境后,我们知道对于多数企业来说是没有外网环境的,在离线环境下如何安装R的包,能否搭建R的私有源对R的包进行管理。
Fayson
2018/03/29
4.2K0
如何在Redhat中安装R的包及搭建R的私有源
工具 | 如何在Python中调用R语言包?
R语言是非常强大的做统计分析和建模方面的开源软件,它有非常丰富的统计软件包,做统计可以说只有你想不到的,没有R办不到的。Python又是当下最流行的编程软件之一,Python也是开源的,包含了非常丰富的第三方库(如机器学习算法),那么如何让Python和R共同工作呢?利用Python中的rpy2包就可以实现这一想法。 如何安装rpy2? 首先需要安装Python的科学计算环境Anaconda和R软件(最好再安装个Rstudio,好用到爆的R软件IDE,安装和管理R包太方便了),安装好Anaconda和R软件
小莹莹
2018/04/24
12K0
工具 | 如何在Python中调用R语言包?
【DB笔试面试511】如何在Oracle中写操作系统文件,如写日志?
可以利用UTL_FILE包,但是,在此之前,要注意设置好UTL_FILE_DIR初始化参数。
AiDBA宝典
2019/09/30
28.8K0
【DB笔试面试511】如何在Oracle中写操作系统文件,如写日志?
如何在 Pycharm 中高效使用 R 语言 (图文详解)
最新的 Pycharm 大量更新了对 R 的功能支持,在 IntelliJ 的大名加持下,拥有自动补全代码(最新加入了机器学习的新特性),自动格式化代码,版本控制,以及大量的插件支持。
白墨石
2021/01/13
1.4K0
如何在 Pycharm 中高效使用 R 语言 (图文详解)
「R」TCGA barcode(样本ID)以及重名过滤
接触和分析过TCGA数据的朋友肯定会经常处理TCGA barcode的前15位(有时12位),实际从上图可以看出TCGA的barcode设计总共有28位之多。
王诗翔呀
2020/07/03
2.3K0
「R」TCGA barcode(样本ID)以及重名过滤
点击加载更多

相似问题

R:如何在样本权重中使用describe()

14

如何分配R中样本的权重

27

LightFM:权重和样本权重

12

如何在R中应用与NIS (国家住院患者样本)相关的权重

1227

如何在Keras中使用样本权重和数据增强?

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文