네트워크 그림 을 대량으로 다운로드 하 는 데 사용 되 는 Shell 스 크 립 트

By Long Luo
최근 일기예보 항목 을 만 들 기 위해 서 는 야후 에서 날씨 아이콘 을 다운로드 해 야 하지만 아이콘 이 많아 80 여 장 이 있다.아이콘 은 Yaoo Image 사이트 에 저 장 됩 니 다.센 레이 는 https 다운 로드 를 지원 하지 않 습 니 다. 브 라 우 저 에서 다운로드 할 수 있 지만 브 라 우 저 에서 다운로드 가 너무 느 려 서 이미지 자원 을 대량으로 다운로드 하 는 Shell 스 크 립 트 를 써 서 이 문 제 를 완벽 하 게 해결 하 였 습 니 다.야후 날씨 아이콘 의 주소 규칙 은 다음 과 같 습 니 다.https://s.yimg.com/zz/combo?a/i/us/nws/weather/gr/아이콘 이름
예 를 들 면:
나 는 두 가지 방법 을 사용 하여 다운로드 의 어 려 운 문 제 를 해결 했다. 비록 오랫동안 Shell 스 크 립 트 를 쓰 지 않 았 지만 의식 과 바탕 이 있 고 몇 십 줄 의 코드 를 쓰 는 것 이 비교적 쉽다.
방법 1:
#!/bin/bash
# 
#  Decription: 
#		A Shell script used to download the imges from Internet.
#  Author:
#       Long Luo
#  Date:
#       2014-09-11 00:16:59
#

BASE_URL="https://s.yimg.com/zz/combo?a/i/us/nws/weather/gr/"

# declare STIRNG variable
STRING="Beginning Image download..."

#print var on screen 
echo $STRING

sleep 1
echo "...."

BIG_PNG="ds.png"
PNG=".png"

echo "url="${BASE_URL}
echo "big png="${BIG_PNG}

for ((i=0; i<49;i++)); do
	echo IMG_URL=${BASE_URL}${i}${BIG_PNG}
	echo "final url="${IMG_URL}

	curl ${BASE_URL}${i}${BIG_PNG} -o small/${i}${PNG}
	sleep 1

done

방법 2:
# Method 2

URL_ARRAY=(
'https://s.yimg.com/zz/combo?a/i/us/nws/weather/gr/0d.png'
'https://s.yimg.com/zz/combo?a/i/us/nws/weather/gr/1d.png'
)

NAME_ARRAY=(
'file1.jpg'
'file2.jpg'
)

ELEMENTS=${#URL_ARRAY[@]}

for (( i=0;i<ELEMENTS;i++)); do
	echo ${URL_ARRAY[${i}]}
	echo "saved as ${NAME_ARRAY[${i}]}"
 	curl ${URL_ARRAY[${i}]} -o images/${NAME_ARRAY[${i}]}
	sleep 1
	
done

이상, 필요 한 학생 이 채용 할 수 있 기 를 바 랍 니 다: -)
Created by Long Luo at 2014-09-13 22:44:52 @Shenzhen, China. Completed By Long Luo at 2014-09-13 23:01:05 @Shenzhen, China.

좋은 웹페이지 즐겨찾기