使用Curl命令行实用程序并行下载

我想从网站上下载一些页面,并成功地使用了它,curl但是我想知道是否curl像大多数下载管理器一样一次一次下载多个页面,这会加快速度。是否可以在curl命令行实用程序中执行此操作?

我正在使用的当前命令是

curl 'http://www...../?page=[1-10]' 2>&1 > 1.html

在这里,我从1到10下载页面,并将它们存储在名为的文件中1.html

另外,是否有可能curl将每个URL的输出写入单独的文件say URL.html,其中URL正在处理的页面的实际URL 在哪里。

回答:

好吧,curl这只是一个简单的UNIX进程。您可以使许多curl进程并行运行并将它们的输出发送到不同的文件。

curl可以使用URL的文件名部分来生成本地文件。只需使用-O选项(man curl有关详细信息)。

您可以使用以下内容

urls="http://example.com/?page1.html http://example.com?page2.html" # add more URLs here

for url in $urls; do

# run the curl job in the background so we can start another job

# and disable the progress bar (-s)

echo "fetching $url"

curl $url -O -s &

done

wait #wait for all background jobs to terminate

以上是 使用Curl命令行实用程序并行下载 的全部内容, 来源链接: utcz.com/qa/397713.html

回到顶部