gpt4 book ai didi

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

转载 作者:数据小太阳 更新时间:2023-10-29 07:54:41 24 4
gpt4 key购买 nike

我需要抓取(使用 scrAPI)400 多个 ruby​​ 网页,我的实际代码是非常顺序的:

data = urls.map {|url| scraper.scrape url }

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

如何让它更快?如何并行下载?

最佳答案

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/ -- 享受吧!

关于ruby - 如何在 ruby​​ 中快速下载大量网页?并行下载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/559420/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com