2024-09-20 10:24AM
ruby脚本代码内容如下:
require 'net/http'
require 'uri'
urls = %w{
https://cdn.prod.website-files.com/65e5b22cf7f0480a007420fc/css/ewbetatest.webflow.9089ad39c.css
https://cdn.jsdelivr.net/npm/@finsweet/3dglobes@1/styles.min.css
}
urls.each do |url|
local_file_name = url.split('/').last
command = %Q{wget #{url} -O #{local_file_name}}
system(command)
end
代码解释:
1.引入库
require 'net/http'
:引入 Ruby 的 net/http
库,它提供了用于执行 HTTP 请求的功能。
require 'uri'
:引入 Ruby 的 uri
库,用于处理 URL 和 URI 的解析。
2. 定义 URL 列表
urls
是一个数组,使用 %w{}
语法定义了一系列 URL。这些 URL 是您希望下载的文件的地址。
3.遍历URL列表
urls.each do |url|
:对 urls
数组中的每个 URL 执行块中的代码。
3.1 获取本地文件名
local_file_name = url.split('/').last
使用 split('/')
方法将 URL 按照 /
符号分割,然后取最后一部分(即文件名)。例如,对于 URL https://cdn.prod.website-files.com/.../ewbetatest.webflow.9089ad39c.css
,得到的 local_file_name
将是 ewbetatest.webflow.9089ad39c.css
。
3.2 构建命令
command = %Q{wget #{url} -O #{local_file_name}}
使用 %Q{}
语法构建一个字符串,形成一个 wget
命令。wget
是一个常用的命令行工具,用于从网络下载文件。-O
选项指定输出文件的名称。
command
字符串的内容类似于 wget https://cdn.prod.website-files.com/... -O ewbetatest.webflow.9089ad39c.css
。
3.3 执行命令
system(command)
使用 system(command)
方法执行构建的 wget
命令。这将启动一个新的进程来运行该命令,并在命令完成后返回控制权。
这个脚本的作用是:
1.定义一组 URL。
2.遍历每个 URL。
3.从每个 URL 中提取文件名。
4.构建并执行 wget
命令,下载文件到当前目录中。
注意:
1.依赖于外部工具:该脚本依赖 wget
工具。确保在运行此脚本的环境中已安装 wget
。
2.错误处理:脚本没有处理下载失败的情况,可以考虑添加错误处理逻辑,确保下载成功与否的反馈。
3.性能问题:对于大量 URL,可能会出现性能瓶颈,可以考虑使用并发下载的方式。
登录
请登录后再发表评论。
评论列表:
目前还没有人发表评论