批量获取API接口内容并下载(文本,视频等)(shell脚本)

简介

最近看到很多api接口网站,有视频,图片,文字,鸡汤等内容,看到这么多好的内容想收藏,一条一条弄又很浪费时间,于是写了一个脚本,需要找一个比较好的api站点(没有做访问限制的),不然一下子次数很多占用服务器资源的话管理员可能就会把你IP封掉。

适用范围

只适用于返回值为文本格式的内容,或者格式,如果返回值直接是mp4或图片请观看其他文章

脚本

脚本1

#!/bin/bash
# 脚本名称:api_download.sh 
# 版本:1.0.0 
# 作者:诺言 
# 创建日期:2023年8月2日 
# 最后修改日期:2023年8月2日


API_URL="XXXXX"     # 替换为你的 API URL
OUTPUT_FILE="response.txt"            # 保存返回内容的文本文件名
ITERATIONS=5                          # 循环的次数
DOWNLOAD_DIR="/opt/downloaded_files"  # 下载文件保存的目录

# 清空输出文件
echo "" > "$OUTPUT_FILE"

# 循环请求 API 并将返回内容追加写入文本文件
for ((i=1; i<=$ITERATIONS; i++))
do    printf "正在获取第 %s 个返回内容...\n" "$i"
    response=$(curl -s "$API_URL")
    echo "https:$response" >> "$OUTPUT_FILE"  
###这里的https://看需求可以酌情删掉,如果你获取调用php接口返回的值带https的话删掉就行了
done

# 创建下载目录
mkdir -p "$DOWNLOAD_DIR"

# 使用 wget 批量下载文件
counter=0
while IFS= read -r url
do
    ((counter++))
    printf "正在下载文件 %s...\n" "$counter"
    wget -q "$url" -P "$DOWNLOAD_DIR" --content-disposition
done < "$OUTPUT_FILE"

echo "已经批量下载到 $DOWNLOAD_DIR 目录下。"

脚本2

这个脚本显示的进度比较详细

#!/bin/bash
# 脚本名称:api_download.sh
# 版本:1.0.0
# 作者:诺言
# 创建日期:2023年8月2日
# 最后修改日期:2023年8月2日

API_URL="XXXX"  # 替换为你的 API URL
OUTPUT_FILE="response.txt"         # 保存返回内容的文本文件名
ITERATIONS=5                      # 循环的次数
DOWNLOAD_DIR="/opt/downloaded_files"  # 下载文件保存的目录

# 清空输出文件
echo "" > "$OUTPUT_FILE"
# 循环请求 API 并将返回内容追加写入文本文件
for ((i=1; i<=$ITERATIONS; i++))
do
    echo "正在获取返回内容..." 
    response=$(curl -s "$API_URL")

    # 每行一个返回内容
    echo "https:$response" | while IFS= read -r line
###这里的https://看需求可以酌情删掉,如果你获取调用php接口返回的值带https的话删掉就行了
    do
        echo "$line" >> "$OUTPUT_FILE"
    done

    # 显示保存每个返回内容的进度
    progress=$((100 * i / ITERATIONS))
    echo "已保存 $progress% 的返回内容"
done

# 创建下载目录
mkdir -p "$DOWNLOAD_DIR"

# 使用 wget 批量下载文件
counter=0
while IFS= read -r url
do
    ((counter++))
    printf "\n正在下载文件 %s...\n" "$counter"
    wget --progress=bar:force "$url" -P "$DOWNLOAD_DIR" -nc
done < "$OUTPUT_FILE"

echo "网址已经批量下载到 $DOWNLOAD_DIR 目录下。"

脚本3

去重

#!/bin/bash

API_URL="https://v.api.aa1.cn/api/api-girl-11-02/index.php?type=url" # 替换为您的API接口地址
DOWNLOAD_DIR="/path/to/download"        # 替换为您的下载目录

# 创建下载目录
mkdir -p "$DOWNLOAD_DIR"

# 获取API接口返回内容并保存到文本文件
for ((i=1; i<=20; i++)); do
    RESPONSE=$(curl -s "$API_URL")
    echo "https:$RESPONSE" >> responses.txt
###这里的https://看需求可以酌情删掉,如果你获取调用php接口返回的值带https的话删掉就行了

    # 计算并显示获取内容进度百分比
    PROGRESS=$((i * 100 / 20))
    echo -ne "获取API内容: $PROGRESS%\r"
done

echo -e "\nAPI content fetched successfully."

# 批量下载文件
cat responses.txt | xargs -n 1 -I {} wget -P "$DOWNLOAD_DIR" {}

# 删除下载目录中的重复文件
rsync -a --remove-source-files "$DOWNLOAD_DIR/" "$DOWNLOAD_DIR/../temp/"
rm -r "$DOWNLOAD_DIR"
mv "$DOWNLOAD_DIR/../temp/" "$DOWNLOAD_DIR"

# 显示下载文件进度百分比
TOTAL_FILES=$(wc -l < responses.txt)
DOWNLOADED_FILES=0


echo -e "\nAll files downloaded successfully."

 

 

上图

批量获取API接口内容并下载(文本,视频等)(shell脚本)

原创文章,作者:AIRF,如若转载,请注明出处:http://www.ai-rf.com/index.php/2023/08/02/%e6%89%b9%e9%87%8f%e8%8e%b7%e5%8f%96api%e6%8e%a5%e5%8f%a3%e5%86%85%e5%ae%b9%e5%b9%b6%e4%b8%8b%e8%bd%bdshell%e8%84%9a%e6%9c%ac/

(0)
AIRFAIRF
上一篇 2023年8月1日
下一篇 2023年8月3日

相关推荐

  • 【程序猿密技】告别Webshell困扰!一键查杀,助你进阶安全漏洞终结者!

    网站的安全性会受到Webshell的严重威胁。Webshell木马可以任意修改网站文件内容、查看系统环境、执行脚本、提权等,甚至可以对数据库安全造成严重威胁。因此,作为站长,定期检…

    芯片设计 2023年6月26日
  • 8大编程语言的对比

    [start-plane type=”1″]C语言的主要应用领域操作系统、嵌入式服务器这三块,是一门强大的被广泛运用于底层的高级语言[/start-plan…

    芯片设计 2022年9月26日
  • PC微信WeChat v3.9.5.25绿色版

    软件介绍 经常使用微信电脑版的用户都会发现一个蛋疼的事情,那就是微信PC版不支持多开,也就是不能同时登陆多个账号,这对于需要在电脑上登陆多个微信账号的朋友来说肯定是极其的不方便。另…

    编程设计 2023年6月1日
  • Postman9.16.0汉化便携版

    Postman本是一个接口测试工具,可以利用它测试接口,去掉一些不必要的参数,起到精简代码作用。 应用介绍 在做接口测试的时候,Postman相当于一个客户端,它可以模拟用户发起的…

    2024年8月11日
  • “谷歌翻译”退出中国市场?谷歌翻译无法使用​处理方案

    谷歌翻译简介描述 这几天全网都在疯传一个论题,关于谷歌翻译无法运用,翻开后便会跳转到谷歌香港的界面。这场景,与当年谷歌搜索退出时是千篇一律啊!那么为什么谷歌翻译怎样用不了了?小编特…

    芯片设计 2022年11月2日
  • 宝塔第三方云端的php站点程序

    网上经常说宝塔开心脚本版有后门,所以很多小伙伴都不敢用网上那些所谓的开心版脚本,最近博主在github上找到一款自行搭建的宝塔云端,重要的是这程序它开源。博主也自行搭建了一份,有需…

    2024年4月30日
  • 舔狗文化?男生已经没有了羊毛可薅!!

    你有没有发现,现在男生已经没有了羊毛可薅? 以前,资本营销者会以 “不送礼物就是不爱,没有烛光晚餐就是不爱,没有红包转账就是不爱” 等理由来逼迫男生支付高昂的恋爱成本。 在这些营销…

    2023年9月8日
  • 处理多台服务器均被xmrig挖矿病毒入侵

    前期描述 一位朋友找到我,反馈说多台服务器使用top命令均有一个进程占用率超高,而且名字都不一样,安排我排查一下 解决思路 1.使用top查看高占用进程 2.该进程所执行的程序的实…

    2024年3月12日
  • 解除申诉失败爆红域名教程

    解除申诉失败爆红域名教程 如果你的域名红了 申请也不能恢复请进来 本次教程测试的是在腾讯云注册的域名(其他自己测试) 教程 1.打开微信搜《腾讯云助手》2.找到在线客服《域名问题》…

    芯片设计 2024年4月25日
  • Github打不开?最全的几种加速方法来了

    简介 GitHub作为一个国外的代码托管平台,由于其宽松的内容审核政策,上面存在一些不符合国内互联网审查标准的项目和代码。因此,有时访问GitHub可能会受到限制或变得缓慢。为了解…

    芯片设计 2023年7月8日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注