Last active
April 3, 2025 05:28
-
-
Save jlhg/37293d898ec87cdfa5c1db8a565a2931 to your computer and use it in GitHub Desktop.
讀取 HTML 檔案內容,找出所有 imgur 的圖片網址,並用 curl 下載這些圖片 (此程式由 AI 生成)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# ============================================================================= | |
# 功能:讀取檔案內容,找出所有 imgur 的圖片網址,並用 curl 下載這些圖片 | |
# ============================================================================= | |
# | |
# 使用方法: | |
# 1. 將此腳本保存為 download_imgur.sh | |
# 2. 給予執行權限:chmod +x download_imgur.sh | |
# 3. 執行腳本,提供含有 imgur 鏈接的檔案:./download_imgur.sh your_file.html | |
# | |
# 腳本說明: | |
# - 這個腳本會檢查輸入的檔案是否存在 | |
# - 建立一個名為 imgur_images 的目錄來存放下載的圖片 | |
# - 使用 grep 搭配正則表達式來找出所有 imgur 的圖片網址 | |
# - 對找到的網址進行排序和去重 | |
# - 使用 curl 下載每個圖片到指定目錄 | |
# - 顯示下載進度和最終結果 | |
# | |
# 注意: | |
# 此腳本適用於包含 imgur 直接圖片連結的檔案,如 HTML 檔案或文本檔案。 | |
# ============================================================================= | |
# 檢查是否提供了輸入檔案 | |
if [ $# -eq 0 ]; then | |
echo "使用方法: $0 <檔案路徑>" | |
exit 1 | |
fi | |
# 輸入檔案 | |
input_file="$1" | |
# 檢查檔案是否存在 | |
if [ ! -f "$input_file" ]; then | |
echo "錯誤: 檔案 '$input_file' 不存在" | |
exit 1 | |
fi | |
# 建立下載目錄 | |
download_dir="imgur_images" | |
mkdir -p "$download_dir" | |
# 抓取所有 imgur URL 並儲存到臨時檔案 | |
temp_urls=$(mktemp) | |
grep -o 'https://i\.imgur\.com/[a-zA-Z0-9]*\.\(jpeg\|jpg\|png\|gif\)' "$input_file" | sort | uniq > "$temp_urls" | |
# 讀取檔案並下載圖片 | |
echo "開始從 $input_file 下載 imgur 圖片..." | |
count=0 | |
while read url; do | |
# 從 URL 獲取檔案名稱 | |
filename=$(basename "$url") | |
# 下載圖片 | |
echo "下載: $url" | |
curl -s "$url" -o "$download_dir/$filename" | |
# 檢查下載是否成功 | |
if [ $? -eq 0 ]; then | |
count=$((count+1)) | |
echo "已下載: $filename" | |
else | |
echo "下載失敗: $url" | |
fi | |
done < "$temp_urls" | |
# 刪除臨時檔案 | |
rm "$temp_urls" | |
echo "下載完成! 共下載 $count 張圖片到 $download_dir 目錄" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment