小ネタです。
「いらすとや」さんのトランプ画像を使わせていただこうとしたら、1枚ずつ保存しなければならないようで心が折れそうになったため一括でダウンロードできるシェルスクリプトを組みました。……組んだのですが、URLのハッシュ値の法則性を解析するのが面倒だったので、結局すべてのURLのリストを作ることにw
せっかくなので別の方も利用されるかもしれないと思いコードを置いておきますね。悪用厳禁でお願いしますw
コード
Bashで動作確認しています。適当なファイル名で保存しパーミションの設定をしてください。
#!/bin/bash # # いらすとやさんのトランプ一括ダウンロード # # 以下のカードを一括でDLします。 # https://www.irasutoya.com/2017/05/card.html # #------------------------------------------- # 対象のファイル一覧 #------------------------------------------- # 画像サイズ size="s200" # ファイル一覧 list=( # スペード "https://2.bp.blogspot.com/-S-31SRfkS1o/WQBAEtCo1nI/AAAAAAABD98/fzjjCIIibhMkeoKx9NfyTo3i1TjRaONPQCLcB/${size}/card_spade_01.png" "https://4.bp.blogspot.com/-HUJzhH60Cf0/WQBAFMX2JoI/AAAAAAABD-E/ApHn1B1nwtA6eg1WDh2xWyialgCcPEIRgCLcB/${size}/card_spade_02.png" "https://1.bp.blogspot.com/-r6YgdswwjD4/WQBAFIyHimI/AAAAAAABD-I/_5U9DZ-tV1IEmoTgbgdSt0OCS9ujA-6IwCLcB/${size}/card_spade_03.png" "https://2.bp.blogspot.com/-V0P8AZskntU/WQBAFXXQo8I/AAAAAAABD-M/hnZFQ7J6xSMTtVPvwH2AAKKSlRPEVTH7ACLcB/${size}/card_spade_04.png" "https://4.bp.blogspot.com/-bvSGYORb6Xg/WQBAF61kUOI/AAAAAAABD-Q/SalVkKKYYt85TNJJsOjmgNwfT0ao3foewCLcB/${size}/card_spade_05.png" "https://3.bp.blogspot.com/-c3OkNnevlIY/WQBAF8LtaAI/AAAAAAABD-U/_qIQIX6nGtYxDaAiPoR--8s0TcAcFg_GACLcB/${size}/card_spade_06.png" "https://1.bp.blogspot.com/-YWPrnvvibVs/WQBAGEyzd2I/AAAAAAABD-g/6YXIUPRRJnctD-NjPzA8_Pf5z7bRLx6NgCLcB/${size}/card_spade_07.png" "https://2.bp.blogspot.com/-4WjI4aJ-Y2k/WQBAGgc0XqI/AAAAAAABD-c/-yCRUYRxy-sdx5EG96teinHSwjj3L_XrACLcB/${size}/card_spade_08.png" "https://1.bp.blogspot.com/-lYcdLoEoqhk/WQBAGkz_02I/AAAAAAABD-Y/BzeTL07VRhc9viqmclMywil_LqOdQGL5QCLcB/${size}/card_spade_09.png" "https://4.bp.blogspot.com/-0hkv0a660xs/WQBAHQRO0BI/AAAAAAABD-k/w_vXN31wPHULAG51gb419z6Q3WTKCfmOACLcB/${size}/card_spade_10.png" "https://2.bp.blogspot.com/-JwwLTPZuPMM/XD_5kfjssyI/AAAAAAABRQc/d6u2cLsQA0k99iys2LJYymXaf5TwbBhxACLcBGAs/${size}/card_spade_11.png" "https://2.bp.blogspot.com/-epZe0JlVtMM/WQBAHk4rzcI/AAAAAAABD-s/jlpAWreHND8kI6ez_wMETbWg0480l2JsgCLcB/${size}/card_spade_12.png" "https://1.bp.blogspot.com/-OjE8t2UIgRA/WQBAH71q1bI/AAAAAAABD-w/s7xK2t5RNHwkc0fb98FX08lUj4SxcdFrQCLcB/${size}/card_spade_13.png" # ハート "https://3.bp.blogspot.com/-Gc8mOTO7D3E/WQBAARSWh8I/AAAAAAABD9I/e0T5rdD37VQ95br4klbWQbm56eFCtd3UwCLcB/${size}/card_heart_01.png" "https://3.bp.blogspot.com/-x1YD4kp-X9E/WQBAA3RKDbI/AAAAAAABD9M/5K8vEH6kYSo5M9r2jzxheGlnup2k-El5gCLcB/${size}/card_heart_02.png" "https://4.bp.blogspot.com/-EKVZFBVtmjQ/WQBABA_ahuI/AAAAAAABD9U/nTJtYuBS5fkpjWPMxSSnUINuFSWxTHO3gCLcB/${size}/card_heart_03.png" "https://2.bp.blogspot.com/-Nf18bkno_jQ/WQBABJhQh3I/AAAAAAABD9Q/ZSy-WCf-at0qtHZdw5JeFf7miJP2RWingCLcB/${size}/card_heart_04.png" "https://2.bp.blogspot.com/-CFp5e60TFQk/WQBABoeZH8I/AAAAAAABD9Y/yPc41v2h0yYoQ8m6d610Vk3QVREpnLMGQCLcB/${size}/card_heart_05.png" "https://3.bp.blogspot.com/-w5tuOxBszlU/WQBABseF49I/AAAAAAABD9c/9yF8y-6012MKF5UlSz-dxORnZU_YhEuxgCLcB/${size}/card_heart_06.png" "https://1.bp.blogspot.com/-Mi6_zO3nrME/WQBAB5sBPMI/AAAAAAABD9g/a73P0ORztvULMDbAMLMO31MTkHONqqOGQCLcB/${size}/card_heart_07.png" "https://4.bp.blogspot.com/-9eIFe_ntyM8/WQBACKrLmjI/AAAAAAABD9k/k2Bx40mdlNsDRsb9g5EVOtJyAbBngcfXgCLcB/${size}/card_heart_08.png" "https://4.bp.blogspot.com/--WdtHI89Ero/WQBACbrbQuI/AAAAAAABD9o/DTI0H5yJLR0ChinijyFaOCZuY3I4AEApACLcB/${size}/card_heart_09.png" "https://4.bp.blogspot.com/-Dj2Yzi1XR-E/WQBADWUni-I/AAAAAAABD9s/2Cy3plnNZGwt9sV3vDO4eCvJSSg9DGx-wCLcB/${size}/card_heart_10.png" "https://1.bp.blogspot.com/-V-d44vBp5RA/WQBADtJIdzI/AAAAAAABD9w/pLAAFAGsYMQAQJPX6kC5xDlAcjyrVAByQCLcB/${size}/card_heart_11.png" "https://2.bp.blogspot.com/-bT_o-lYYQ-0/WQBAD08x5KI/AAAAAAABD90/RF8S0SR_Btk5iwlKguBB9mhSJh0WZOwVgCLcB/${size}/card_heart_12.png" "https://2.bp.blogspot.com/-l4PpG6pymus/WQBAEqIEXiI/AAAAAAABD94/ET_3LcQAieMiur7nk-YZSeB6y_FkAZvyACLcB/${size}/card_heart_13.png" # ダイヤ "https://3.bp.blogspot.com/-t2Uv3YfhtcY/WQA_8e3yr7I/AAAAAAABD8U/I5XTJPcgiToEOc6Qe1jAJTaXm1Sx8HtQgCLcB/${size}/card_diamond_01.png" "https://1.bp.blogspot.com/-soxRK6ntcxw/WQA_9nD9WCI/AAAAAAABD8Y/e7S9nX1hwEQuO5SIRro6154hS6r7-jJJQCLcB/${size}/card_diamond_02.png" "https://1.bp.blogspot.com/-Zo951HLWRlQ/WQA_9svbtTI/AAAAAAABD8c/jcJcMIfJNEgtPADX4Z_SRD7JptfX0uJdQCLcB/${size}/card_diamond_03.png" "https://4.bp.blogspot.com/-WNnDDDnVkrs/WQA_9vUTTJI/AAAAAAABD8g/PSyYSizOnVkaC37L7bLn82Ex83Tvm0BKACLcB/${size}/card_diamond_04.png" "https://4.bp.blogspot.com/-nRZKqqQt_vw/WQA_-vt8HiI/AAAAAAABD8s/g5mYH3Esp7AQkPavHFI74TqLB4Gl6DTBQCLcB/${size}/card_diamond_05.png" "https://1.bp.blogspot.com/-_3IO3O1KAoQ/WQA_-lJ2MWI/AAAAAAABD8k/VxlQcr7UwTMsreQ9Rn3Pecu0kqqRD53MACLcB/${size}/card_diamond_06.png" "https://4.bp.blogspot.com/-BqGnQr2-NqI/WQA_-s5yc7I/AAAAAAABD8o/NtZi3Dh4bNUAA5HUUxlhR1K55K32CYbbwCLcB/${size}/card_diamond_07.png" "https://1.bp.blogspot.com/-FZGbdtedARU/WQA__nBH5iI/AAAAAAABD84/X9BsjJbBLZcuGBr5VT2EeisGjlp0wtJpwCLcB/${size}/card_diamond_08.png" "https://3.bp.blogspot.com/-Ndl0O1jqgq8/WQA__BbskCI/AAAAAAABD8w/r7FfStH5YQUla15gVo_4fLZe1ICIMOp-ACLcB/${size}/card_diamond_09.png" "https://2.bp.blogspot.com/-cHD1NPF9H_4/WQA__UMM9UI/AAAAAAABD80/vm9j-P6Mnqgg9ZnGISqKsJy4chmotPKlQCLcB/${size}/card_diamond_10.png" "https://3.bp.blogspot.com/-_TRspngujsg/WQA__3On4dI/AAAAAAABD88/qBQf1hrFHdIHDoJkJgDTWpIFHWTGX1gUwCLcB/${size}/card_diamond_11.png" "https://4.bp.blogspot.com/-awCU2XbepTk/WQBAAAkIYiI/AAAAAAABD9A/xVB37vHopCsDpS-UN5EbwnXGiUiO9J1ZwCLcB/${size}/card_diamond_12.png" "https://2.bp.blogspot.com/-AIDRA5MtU5A/WQBAAWRMAgI/AAAAAAABD9E/iNuSUO4y_fQTDR3UQi149RwdbPx0vw4tQCLcB/${size}/card_diamond_13.png" # クラブ "https://4.bp.blogspot.com/-BOhNgboYmDc/WQA_27Cy-FI/AAAAAAABD7g/nAAsOxbXY2o_3e3zrP5sbP8t1YYamHuAACLcB/${size}/card_club_01.png" "https://3.bp.blogspot.com/-hgsXIloqVyw/WQA_3LS3MPI/AAAAAAABD7k/cS7pXbmShe48ok5YfDPi_mDjS1qNHykFQCLcB/${size}/card_club_02.png" "https://4.bp.blogspot.com/-hIKME4x_kbQ/WQA_3IHzulI/AAAAAAABD7o/Ft4JOq2ydaEHteja59Zzv_i3ieXnmONwwCLcB/${size}/card_club_03.png" "https://1.bp.blogspot.com/-jK5dV2do-u4/WQA_6NL1_pI/AAAAAAABD7w/FocpXKcFQoMLuL108nfhcXh7hnNBG5XuQCLcB/${size}/card_club_04.png" "https://4.bp.blogspot.com/-YS0WFXKsMVw/WQA_6BXvi5I/AAAAAAABD7s/FtPj_2pOTp0vHv-o7SM0ypu7RGbdoqdWACLcB/${size}/card_club_05.png" "https://3.bp.blogspot.com/-8Badx_rITCw/WQA_6DLYUSI/AAAAAAABD70/rdTGjS1Ec8Ike1_G0foYxz6TURgQj0SAwCLcB/${size}/card_club_06.png" "https://2.bp.blogspot.com/-LXJw0prlZp0/WQA_6wZyEVI/AAAAAAABD74/eFWVHzCtgLMj_C-JPzjOd7YfhiveHytlQCLcB/${size}/card_club_07.png" "https://2.bp.blogspot.com/-MgspaQVG0TI/WQA_6-KkeCI/AAAAAAABD78/DpAaw1R2LM8tcD27tuYx0lYBdZQsI9qpwCLcB/${size}/card_club_08.png" "https://1.bp.blogspot.com/-E0A1v2Tf3Ew/WQA_6zYEsSI/AAAAAAABD8A/dr_ytvRhUW4RjIkrX2631ltJHQyLOA6ygCLcB/${size}/card_club_09.png" "https://1.bp.blogspot.com/-LzLb452BcCs/WQA_7ijljgI/AAAAAAABD8I/eti4IkCO6-0auSfwaVnOyV6nFlB29esUgCLcB/${size}/card_club_10.png" "https://3.bp.blogspot.com/-Bk_-puNIPyA/WQA_7UDvnSI/AAAAAAABD8E/oG18hpYtq2w8gGWxRK-ymX36O_H4YzmPQCLcB/${size}/card_club_11.png" "https://4.bp.blogspot.com/-KW4EpPTE2c8/WQA_8DZLdwI/AAAAAAABD8M/xq63m_MJ_5gNKter3MpQ-ynnfTy0JVASwCLcB/${size}/card_club_12.png" "https://3.bp.blogspot.com/-bicDHxSomXw/WQA_8CngNuI/AAAAAAABD8Q/NpuWFK68hEsccHaBxQXeJUOPSEseAqVKgCLcB/${size}/card_club_13.png" # ジョーカー "https://1.bp.blogspot.com/-tyf0OoeJeRA/WQBAEpNbS0I/AAAAAAABD-A/O9nnDdFy4pAXG48FoThkwcKddPYyHnOoACLcB/${size}/card_joker.png" # 裏面 "https://4.bp.blogspot.com/-A_98ygeh-hs/WRLiKxndvtI/AAAAAAABEKo/qNM7t47lNCw4Sq0hEwJH5xhUaN8lnJf5gCLcB/${size}/card_back.png" ); #------------------------------------------- # ダウンロードする #------------------------------------------- for url in ${list[@]}; do echo $url curl -OLs $url sleep 1 done
実行する
パーミションの設定を適当にしそのまま実行するだけです。サーバへの負荷を考慮しダウンロード間隔を1秒ほど設けていますので、概ね1〜2分程度で終わります。
$ chmod 0755 ./getTrump.sh $ ./getTrump.sh https://2.bp.blogspot.com/-S-31SRfkS1o/WQBAEtCo1nI/AAAAAAABD98/fzjjCIIibhMkeoKx9NfyTo3i1TjRaONPQCLcB/s200/card_spade_01.png https://4.bp.blogspot.com/-HUJzhH60Cf0/WQBAFMX2JoI/AAAAAAABD-E/ApHn1B1nwtA6eg1WDh2xWyialgCcPEIRgCLcB/s200/card_spade_02.png (中略)
ダウンロードが終わるとシェルスクリプトと同じ階層に画像ファイルが保存されます。
$ ls
card_back.png card_club_08.png card_diamond_03.png card_diamond_11.png card_heart_06.png card_joker.png card_spade_08.png
card_club_01.png card_club_09.png card_diamond_04.png card_diamond_12.png card_heart_07.png card_spade_01.png card_spade_09.png
card_club_02.png card_club_10.png card_diamond_05.png card_diamond_13.png card_heart_08.png card_spade_02.png card_spade_10.png
card_club_03.png card_club_11.png card_diamond_06.png card_heart_01.png card_heart_09.png card_spade_03.png card_spade_11.png
card_club_04.png card_club_12.png card_diamond_07.png card_heart_02.png card_heart_10.png card_spade_04.png card_spade_12.png
card_club_05.png card_club_13.png card_diamond_08.png card_heart_03.png card_heart_11.png card_spade_05.png card_spade_13.png
card_club_06.png card_diamond_01.png card_diamond_09.png card_heart_04.png card_heart_12.png card_spade_06.png getTrump.sh*
card_club_07.png card_diamond_02.png card_diamond_10.png card_heart_05.png card_heart_13.png card_spade_07.png