.:. 草榴社區 » 技術討論區 » mac 一键下载帖子的视频和图片
--> 本頁主題: mac 一键下载帖子的视频和图片 字體大小 寬屏顯示 只看樓主 最新點評 熱門評論 時間順序
要一个黄昏


級別:俠客 ( 9 )
發帖:1048
威望:137 點
金錢:50 USD
貢獻:1584 點
註冊:2021-06-18


mac 一键下载帖子的视频和图片



看到一个好的帖子,一个一个保存图片确实太慢了,也不优雅,弄了一个脚本,直接下载帖子里面的内容,并且以帖子的标题为文件夹保存。
複製代碼
  1. #!/bin/bash
  2. # 检查参数
  3. if [ $# -eq 0 ]; then
  4.     echo "Usage: $0 <URL>"
  5.     exit 1
  6. fi
  7. URL="$1"
  8. if [[ ! "$URL" =~ ^https?:// ]]; then
  9.     URL="https://$URL"
  10. fi
  11. echo "Fetching content from: $URL"
  12. # Fetch HTML with curl (add User-Agent to avoid blocks)
  13. HTML=$(curl -s -A "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36" "$URL")
  14. # 提取标题 (h4 class="f16") - 使用sed更可靠
  15. TITLE=$(echo "$HTML" | sed -n 's/.*<h4 class="f16">\([^<]*\)<\/h4>.*/\1/p' | head -1 | sed 's/^[ \t]*//;s/[ \t]*$//')
  16. if [ -z "$TITLE" ]; then
  17.     TITLE="No_title_found"
  18. fi
  19. echo "Title: $TITLE"
  20. # Sanitize title for folder name
  21. SAFE_TITLE=$(echo "$TITLE" | sed 's/[<>:"/\\|?*]/_/g')
  22. # Create folder
  23. mkdir -p "$SAFE_TITLE"
  24. cd "$SAFE_TITLE" || exit 1
  25. # 提取图片URL (优先ess-data,否则data-link) - 保持顺序,不去重
  26. # 先提取所有ess-data
  27. IMAGES=$(echo "$HTML" | grep -o "ess-data='https://23img.com/i/[^']*'" | sed "s/ess-data='//g; s/'$//g")
  28. # 如果没有ess-data,用data-link: data-link='https://23img.com/l/?i=...
  29. if [ -z "$IMAGES" ]; then
  30.     IMAGES=$(echo "$HTML" | grep -o "data-link='https://23img\.com/l/?i=[^']*'" | sed "s/data-link='//g; s/'$//g")
  31. else
  32.     # 否则,补充data-link中没有ess-data的
  33.     EXTRA_IMGS=$(echo "$HTML" | grep -o "data-link='https://23img\.com/l/?i=[^']*'" | sed "s/data-link='//g; s/'$//g")
  34.     IMAGES=$(echo "$IMAGES"; echo "$EXTRA_IMGS")
  35. fi
  36. # 提取视频URL: src='https://pomf2.lain.la/f/...
  37. VIDEOS=$(echo "$HTML" | grep -o "src='https://pomf2\.lain\.la/f/[^']*'" | sed "s/src='//g; s/'$//g")
  38. # 计数器 for 顺序
  39. IMG_COUNTER=1
  40. VID_COUNTER=1
  41. echo "Found $(echo "$IMAGES" | grep -c .) p_w_picpath and $(echo "$VIDEOS" | grep -c .) videos."
  42. # 下载图片,按顺序,用时间戳+序号命名
  43. echo "$IMAGES" | while IFS= read -r IMG_URL; do
  44.     if [ -n "$IMG_URL" ]; then
  45.         TIMESTAMP=$(date +%s)
  46.         FILENAME="img_${TIMESTAMP}_${IMG_COUNTER}.jpeg"
  47.         if [[ "$IMG_URL" == *"l/?i="* ]]; then
  48.             # Follow redirect for /l/?i=
  49.             curl -s -L -A "Mozilla/5.0" -o "$FILENAME" "$IMG_URL"
  50.         else
  51.             curl -s -A "Mozilla/5.0" -o "$FILENAME" "$IMG_URL"
  52.         fi
  53.         echo "Downloaded image: $FILENAME"
  54.         ((IMG_COUNTER++))
  55.     fi
  56. done
  57. # 下载视频,按顺序,用时间戳+序号命名
  58. echo "$VIDEOS" | while IFS= read -r VID_URL; do
  59.     if [ -n "$VID_URL" ]; then
  60.         TIMESTAMP=$(date +%s)
  61.         FILENAME="vid_${TIMESTAMP}_${VID_COUNTER}.MOV"
  62.         curl -s -A "Mozilla/5.0" -o "$FILENAME" "$VID_URL"
  63.         echo "Downloaded video: $FILENAME"
  64.         ((VID_COUNTER++))
  65.     fi
  66. done
  67. echo "All downloads completed in folder: $SAFE_TITLE"
複製代碼

直接复制保存成脚本就行 如 1024.sh
[校长分享第九十一集]绿帽男为满足自己淫妻欲望,分享老婆骚臀给大家。[39P+7V] 为例执行脚本
複製代碼
sh 1024.sh https://www.cc.ypycl.com/htm_data/2509/7/6956395.html

效果


这都不点个赞吗
其他平台需要的话也能写个。

赞(3)
DMCA / ABUSE REPORT | TOP Posted: 09-26 16:06 樓主 引用 | 發表評論

.:. 草榴社區 -> 技術討論區

快速回帖 頂端
內容
HTML 代碼不可用

使用簽名
Wind Code自動轉換

按 Ctrl+Enter 直接提交