所以我有一個小 bash 腳本:
for store in {4..80}
do
for page in {1..200}
do
curl 'https://website.com/shop.php?store_id='$store'&page='$page'&PHPSESSID=sessionID' -O
done
done
腳本運行正常,但是將所有店鋪的200個店鋪頁面從4-80個一個接一個地下載下來,需要很多時間。(注意 curl URL 中的 bash 變數存盤和頁面)
我的目標是為每個商店/頁面同時運行盡可能多的 curl 請求,而不是一個接一個地處理它,以節省時間。
這可能嗎?
uj5u.com熱心網友回復:
curl可以運行回圈本身。這限制curl為 100 個同時會話:
curl 'https://website.com/shop.php?store_id=[4-80]&page=[1-200]&PHPSESSID=sessionID' -O --parallel --parallel-max 100
uj5u.com熱心網友回復:
嘗試改變你的腳本如下:
for store in {4..80}; do
for page in {1..200}; do
curl 'https://website.com/shop.php?store_id='$store'&page='$page'&PHPSESSID=sessionID' -O &
done
done
# Wait for spawned cURLs...
wait
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/345484.html
