Skip to content

Instantly share code, notes, and snippets.

@weldpua2008
Created May 27, 2018 19:38
Show Gist options
  • Select an option

  • Save weldpua2008/4bee443b6bc9bf90ba64b32f3583e2b8 to your computer and use it in GitHub Desktop.

Select an option

Save weldpua2008/4bee443b6bc9bf90ba64b32f3583e2b8 to your computer and use it in GitHub Desktop.
Query NASA image and video library for all assets related to
#!/usr/bin/env bash
#################################################################################################
# Query the NASA image and video library for all assets related to user by default(Ilan Ramon).
# From the results make a list of images with file size larger than by default (1000 kb).
# Author: weldpua2008@gmail.com
# Requires https://stedolan.github.io/jq/download/
##################################################################################################
user="Ilan Ramon"
parallel_executions=4
limit_images=$(( 1024 * 1024 ))
#
if [[ "${1:-}" = "" ]] && [[ "${1:-}" = " " ]];then
user="${1:-}"
fi
get_line(){
local nasa_id=${1:-}
[[ "${nasa_id}" = "" ]] && return 1
[[ "${nasa_id}" = " " ]] && return 1
metadata_url=$(curl -s https://images-api.nasa.gov/asset//${nasa_id}| jq -r '.collection.items|.[]|select(.href| contains("metadata.json"))|.href')
if [[ "${metadata_url}" = " " ]] || [[ "${metadata_url}" = "" ]] || [[ "${metadata_url}" = "null" ]];then return 1;fi
file_size=$(curl -s -L ${metadata_url}|jq -r '."File:FileSize"'| awk 'BEGIN{IGNORECASE=1} {if ($2 ~ /kb/) print $1*1024; else if ($2 ~ /mb/) printf("%.0f",$1*1024*1024); else if ($2 ~ /gb/) printf("%.0f",$1*1024*1024*1024); else if ($2 ~ /tb/) printf("%.0f",$1*1024*1024*1024*1024); else print $1 }')
if [[ "${file_size}" = " " ]] || [[ "${file_size}" = "" ]] || [[ "${file_size}" = "null" ]];then return 1;fi
if [[ ${file_size} -gt $limit_images ]];then
_href=$(curl -s https://images-api.nasa.gov/asset//${nasa_id}| jq -r '.collection.items|.[]|select(.href| contains("orig."))|.href')
if [[ "${_href}" = " " ]] || [[ "${_href}" = "" ]] || [[ "${_href}" = "null" ]];then return 1;fi
_size=$(echo ${file_size}|awk '{printf("%.0f",$1/1024)}')
if [[ "${_size}" = " " ]] || [[ "${_size}" = "" ]] || [[ "${_size}" = "null" ]];then return 1;fi
echo "${_href},${_size}"
fi
}
check_jq(){
echo '[]'| jq . &> /dev/null
if [ $? -ne 0 ];then
echo "The script $0 Requires jq in your \$PATH ( https://stedolan.github.io/jq/download/)"
echo "use :"
echo " wget https://github.com/stedolan/jq/releases/download/jq-1.5/jq-linux64 -O /usr/local/bin/jq && chmod 755 /usr/local/bin/jq"
exit 1
fi
}
main(){
check_jq
export -f get_line
echo 'Nasa_id,kb'
curl -s -G https://images-api.nasa.gov/search --data-urlencode "q=${user}" --data-urlencode "media_type=image" | jq -r '."collection"."items"|.[]|."data"|.[]|."nasa_id"'|xargs -d '\n' -P ${parallel_executions:-10} -n 100 -I % bash -c 'get_line "%"'
}
###### MAIN FUNC
main
@weldpua2008
Copy link
Copy Markdown
Author

Nasa_id,kb
http://images-assets.nasa.gov/image/KSC-03pd2964/KSC-03pd2964~orig.jpg,2028
http://images-assets.nasa.gov/image/KSC-02pp0490/KSC-02pp0490~orig.jpg,1111
http://images-assets.nasa.gov/image/KSC-03pd2963/KSC-03pd2963~orig.jpg,1710
http://images-assets.nasa.gov/image/KSC-03pd2975/KSC-03pd2975~orig.jpg,1645
http://images-assets.nasa.gov/image/KSC-03pd2967/KSC-03pd2967~orig.jpg,2458
http://images-assets.nasa.gov/image/KSC-03pd2965/KSC-03pd2965~orig.jpg,1840
http://images-assets.nasa.gov/image/KSC-03pd2969/KSC-03pd2969~orig.jpg,1823
http://images-assets.nasa.gov/image/KSC-03pd2971/KSC-03pd2971~orig.jpg,1521
http://images-assets.nasa.gov/image/KSC00pp1597/KSC00pp1597~orig.jpg,670
http://images-assets.nasa.gov/image/KSC-20180125-PH_KLS01_0126/KSC-20180125-PH_KLS01_0126~orig.JPG,18432
http://images-assets.nasa.gov/image/KSC-03pd2970/KSC-03pd2970~orig.jpg,1864
http://images-assets.nasa.gov/image/KSC-00pp1597/KSC-00pp1597~orig.jpg,670
http://images-assets.nasa.gov/image/KSC-00pp1591/KSC-00pp1591~orig.jpg,889
http://images-assets.nasa.gov/image/S107E05029A/S107E05029A~orig.jpg,611
http://images-assets.nasa.gov/image/KSC00pp1591/KSC00pp1591~orig.jpg,889
http://images-assets.nasa.gov/image/KSC-03pd2956/KSC-03pd2956~orig.jpg,1261
http://images-assets.nasa.gov/image/KSC-03pd2957/KSC-03pd2957~orig.jpg,1371
http://images-assets.nasa.gov/image/KSC-03pd2961/KSC-03pd2961~orig.jpg,1714
http://images-assets.nasa.gov/image/KSC-03pd2973/KSC-03pd2973~orig.jpg,1399
http://images-assets.nasa.gov/image/KSC-03pd2959/KSC-03pd2959~orig.jpg,1391
http://images-assets.nasa.gov/image/KSC-03pd2958/KSC-03pd2958~orig.jpg,1811
http://images-assets.nasa.gov/image/KSC-03pd2960/KSC-03pd2960~orig.jpg,1571
http://images-assets.nasa.gov/image/KSC-03pd2966/KSC-03pd2966~orig.jpg,1587
http://images-assets.nasa.gov/image/KSC-03pd2962/KSC-03pd2962~orig.jpg,1397
http://images-assets.nasa.gov/image/KSC-03pd2972/KSC-03pd2972~orig.jpg,1124
http://images-assets.nasa.gov/image/KSC-03pd2974/KSC-03pd2974~orig.jpg,1769
http://images-assets.nasa.gov/image/KSC-03pd2976/KSC-03pd2976~orig.jpg,1889
http://images-assets.nasa.gov/image/KSC-03pd2977/KSC-03pd2977~orig.jpg,1940
http://images-assets.nasa.gov/image/KSC-00pp1834/KSC-00pp1834~orig.jpg,854
http://images-assets.nasa.gov/image/KSC-00pp1855/KSC-00pp1855~orig.jpg,909
http://images-assets.nasa.gov/image/KSC-02pd1926/KSC-02pd1926~orig.jpg,882
http://images-assets.nasa.gov/image/KSC-02pd1998/KSC-02pd1998~orig.jpg,911
http://images-assets.nasa.gov/image/KSC00pp1590/KSC00pp1590~orig.jpg,881
http://images-assets.nasa.gov/image/KSC00pp1593/KSC00pp1593~orig.jpg,967
http://images-assets.nasa.gov/image/KSC00pp1595/KSC00pp1595~orig.jpg,801
http://images-assets.nasa.gov/image/KSC00pp1834/KSC00pp1834~orig.jpg,854
http://images-assets.nasa.gov/image/KSC00pp1858/KSC00pp1858~orig.jpg,843
http://images-assets.nasa.gov/image/KSC01pd1873/KSC01pd1873~orig.jpg,817
http://images-assets.nasa.gov/image/KSC01pd1874/KSC01pd1874~orig.jpg,1002
http://images-assets.nasa.gov/image/KSC-00pp1841/KSC-00pp1841~orig.jpg,1017
http://images-assets.nasa.gov/image/KSC-00pp1858/KSC-00pp1858~orig.jpg,843
http://images-assets.nasa.gov/image/KSC-00pp1590/KSC-00pp1590~orig.jpg,881
http://images-assets.nasa.gov/image/KSC-00pp1593/KSC-00pp1593~orig.jpg,967
http://images-assets.nasa.gov/image/KSC-02pd1955/KSC-02pd1955~orig.jpg,768
http://images-assets.nasa.gov/image/KSC00pp1849/KSC00pp1849~orig.jpg,952
http://images-assets.nasa.gov/image/KSC00pp1855/KSC00pp1855~orig.jpg,909
http://images-assets.nasa.gov/image/KSC01PD1861/KSC01PD1861~orig.JPG,953
http://images-assets.nasa.gov/image/KSC-00pp1595/KSC-00pp1595~orig.jpg,801
http://images-assets.nasa.gov/image/KSC-00pp1845/KSC-00pp1845~orig.jpg,928
http://images-assets.nasa.gov/image/KSC-00pp1849/KSC-00pp1849~orig.jpg,952
http://images-assets.nasa.gov/image/KSC-00pp1861/KSC-00pp1861~orig.jpg,819
http://images-assets.nasa.gov/image/KSC-02pd1956/KSC-02pd1956~orig.jpg,702
http://images-assets.nasa.gov/image/KSC00pp1841/KSC00pp1841~orig.jpg,1017
http://images-assets.nasa.gov/image/KSC00pp1845/KSC00pp1845~orig.jpg,928
http://images-assets.nasa.gov/image/KSC-02pd2000/KSC-02pd2000~orig.jpg,892
http://images-assets.nasa.gov/image/KSC00pp1861/KSC00pp1861~orig.jpg,819
http://images-assets.nasa.gov/image/KSC-03pd0050/KSC-03pd0050~orig.jpg,1045
http://images-assets.nasa.gov/image/KSC-03pd0057/KSC-03pd0057~orig.jpg,915
http://images-assets.nasa.gov/image/KSC-03pd0110/KSC-03pd0110~orig.jpg,2253
http://images-assets.nasa.gov/image/KSC-02pd1980/KSC-02pd1980~orig.jpg,937
http://images-assets.nasa.gov/image/KSC-03pd0108/KSC-03pd0108~orig.jpg,1082
http://images-assets.nasa.gov/image/KSC-03pd0124/KSC-03pd0124~orig.jpg,1167
http://images-assets.nasa.gov/image/KSC-03pd0126/KSC-03pd0126~orig.jpg,1133
http://images-assets.nasa.gov/image/KSC01pd1167/KSC01pd1167~orig.JPG,973
http://images-assets.nasa.gov/image/KSC-03pd0053/KSC-03pd0053~orig.jpg,477
http://images-assets.nasa.gov/image/KSC-03pp0149/KSC-03pp0149~orig.jpg,1160
http://images-assets.nasa.gov/image/KSC-03pd2952/KSC-03pd2952~orig.jpg,1778
http://images-assets.nasa.gov/image/KSC-03pd2954/KSC-03pd2954~orig.jpg,1752
http://images-assets.nasa.gov/image/KSC-03pd2953/KSC-03pd2953~orig.jpg,1656
http://images-assets.nasa.gov/image/KSC-02pd0931/KSC-02pd0931~orig.jpg,790
http://images-assets.nasa.gov/image/KSC-00pp1835/KSC-00pp1835~orig.jpg,1028
http://images-assets.nasa.gov/image/KSC-00pp1837/KSC-00pp1837~orig.jpg,875
http://images-assets.nasa.gov/image/KSC-00pp1847/KSC-00pp1847~orig.jpg,885
http://images-assets.nasa.gov/image/KSC-00pp1848/KSC-00pp1848~orig.jpg,968
http://images-assets.nasa.gov/image/KSC-00pp1860/KSC-00pp1860~orig.jpg,980
http://images-assets.nasa.gov/image/KSC-00pp1851/KSC-00pp1851~orig.jpg,1007
http://images-assets.nasa.gov/image/KSC-02pd1918/KSC-02pd1918~orig.jpg,823
http://images-assets.nasa.gov/image/KSC-02pd1921/KSC-02pd1921~orig.jpg,791
http://images-assets.nasa.gov/image/KSC-02pd0942/KSC-02pd0942~orig.jpg,1014
http://images-assets.nasa.gov/image/KSC-02pd0941/KSC-02pd0941~orig.jpg,1135
http://images-assets.nasa.gov/image/KSC-02pd0945/KSC-02pd0945~orig.jpg,1074
http://images-assets.nasa.gov/image/KSC-02pd1979/KSC-02pd1979~orig.jpg,892
http://images-assets.nasa.gov/image/KSC00pp1835/KSC00pp1835~orig.jpg,1028
http://images-assets.nasa.gov/image/KSC00pp1851/KSC00pp1851~orig.jpg,1007
http://images-assets.nasa.gov/image/KSC00pp1853/KSC00pp1853~orig.jpg,1055
http://images-assets.nasa.gov/image/KSC00pp1854/KSC00pp1854~orig.jpg,1033
http://images-assets.nasa.gov/image/KSC00pp1859/KSC00pp1859~orig.jpg,858
http://images-assets.nasa.gov/image/KSC00pp1856/KSC00pp1856~orig.jpg,941
http://images-assets.nasa.gov/image/KSC-00pp1840/KSC-00pp1840~orig.jpg,1034
http://images-assets.nasa.gov/image/KSC-00pp1842/KSC-00pp1842~orig.jpg,799
http://images-assets.nasa.gov/image/KSC-00pp1854/KSC-00pp1854~orig.jpg,1033
http://images-assets.nasa.gov/image/KSC-02pd1974/KSC-02pd1974~orig.jpg,907
http://images-assets.nasa.gov/image/KSC-02pd1981/KSC-02pd1981~orig.jpg,921
http://images-assets.nasa.gov/image/KSC-02pd1977/KSC-02pd1977~orig.jpg,998
http://images-assets.nasa.gov/image/KSC-03pd0100/KSC-03pd0100~orig.jpg,873
http://images-assets.nasa.gov/image/KSC-02pd1916/KSC-02pd1916~orig.jpg,1197
http://images-assets.nasa.gov/image/KSC-02pd1933/KSC-02pd1933~orig.jpg,862
http://images-assets.nasa.gov/image/KSC-02pd1919/KSC-02pd1919~orig.jpg,889
http://images-assets.nasa.gov/image/KSC00pp1842/KSC00pp1842~orig.jpg,799
http://images-assets.nasa.gov/image/KSC00pp1852/KSC00pp1852~orig.jpg,1052

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment