惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
V
Visual Studio Blog
P
Privacy International News Feed
月光博客
月光博客
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
L
Lohrmann on Cybersecurity
N
News and Events Feed by Topic
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Apple Machine Learning Research
Apple Machine Learning Research
阮一峰的网络日志
阮一峰的网络日志
Webroot Blog
Webroot Blog
T
Threatpost
宝玉的分享
宝玉的分享
The Last Watchdog
The Last Watchdog
小众软件
小众软件
L
LINUX DO - 最新话题
C
Cisco Blogs
T
Troy Hunt's Blog
Schneier on Security
Schneier on Security
酷 壳 – CoolShell
酷 壳 – CoolShell
www.infosecurity-magazine.com
www.infosecurity-magazine.com
雷峰网
雷峰网
G
GRAHAM CLULEY
有赞技术团队
有赞技术团队
Know Your Adversary
Know Your Adversary
博客园 - 叶小钗
罗磊的独立博客
V
V2EX
博客园 - Franky
P
Proofpoint News Feed
SecWiki News
SecWiki News
腾讯CDC
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Jina AI
Jina AI
博客园 - 三生石上(FineUI控件)
S
Secure Thoughts
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Google DeepMind News
Google DeepMind News
Attack and Defense Labs
Attack and Defense Labs
人人都是产品经理
人人都是产品经理
The Cloudflare Blog
PCI Perspectives
PCI Perspectives
V2EX - 技术
V2EX - 技术
Google DeepMind News
Google DeepMind News
Last Week in AI
Last Week in AI
aimingoo的专栏
aimingoo的专栏
Cisco Talos Blog
Cisco Talos Blog
N
News and Events Feed by Topic
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
S
SegmentFault 最新的问题

博客园 - 三角形

Docker镜像加速器,检测失效 & 测速 ESXi 不认SN640 SN750 等容量大的 NVME 出租司机给我上的MBA课 -- 转载(文末有18年后的续集) 飞牛影视配置独立端口号,不与飞牛公用web端口 esxi 7 定时关机 Oracle RAC 部署 (VMware共享磁盘配置方法) esxi 无法在浏览器中关闭虚拟机 使用Rocky Linux 快速部署虚拟化环境,浏览器访问,开源免费 Esxi 使用 RDM (Raw Device Mapping) 功能直接将磁盘分配给虚拟机,直通 esxi重装后,之前的卷没能自动挂载 OpenSSH 远程代码执行漏洞(CVE-2024-6387) Ubuntu22.04 和 centos7处理方法 部署SFTP服务,并限制访问目录 esxi 虚拟机 导出 & 导入 2025年免费收徒(运维) XFS误删除文件,数据恢复 在esxi上:获取vm列表,批量给vm关机,批量给vm强制关机 esxi主机,自动创建30个vm,并自动完成vm初始化操作 自动查询12306余票,结果以txt形式放到nginx网站目录下 ubuntu自动下载电视剧《鸣龙少年》
QYN2
三角形 · 2024-05-19 · via 博客园 - 三角形
#!/bin/bash

# 自动下载电视剧,支持按集断点下载,正在追的电视剧添加到计划任务每天定期执行一次即可
# 庆余年在线网站:    https://www.jjwu.net/vodplay/46471_5_1.html
# 使用Ubuntu系统,需要安装的工具
# apt-get install -y parallel wget ffmpeg

# 创建存放视频和缓存的目录
mkdir -p mp4/cache

# 
for x in `seq -w $(ls mp4 | wc -l) 36 `
do
    # 打印正在处理的剧集
    echo -e "第 $x 集"
    # 清空缓存目录
    rm -rf mp4/cache/*
    # 从m3u8文件中除去广告ts,获取电视剧ts,并生成ts文件的url保存到file.list
    curl -s "https://s3.bfengbf.com/video/qingyuniandierji/第$x集/index.m3u8" \
        | awk '/^000.*ts$/{print "https://s3.bfengbf.com/video/qingyuniandierji/第'$x'集/"$1}' \
        > mp4/cache/file.list
    # 如果这一集还没更新,那么file.list文件中不存在ts文件的url,退出脚本
    cat mp4/cache/file.list | grep '^http.*ts$' &>/dev/null || exit
    # 100并发下载ts文件
    parallel -j 30 -a mp4/cache/file.list wget --timeout=30 -nv -P mp4/cache

    while [ -s mp4/cache/file.list ]    
    do
        for y in `ls mp4/cache/`
        do
            sed -i "/$y/d" mp4/cache/file.list
        done

        for z in `cat mp4/cache/file.list`
        do
            wget -c --timeout=30 --tries=10 -nv -P mp4/cache $z
        done
    done
    # 合并ts文件
    for j in `ls mp4/cache`
    do
        cat mp4/cache/$j >> mp4/cache/input.ts
    done
    # 将ts文件转换成mp4文件
    ffmpeg -n -loglevel quiet -i mp4/cache/input.ts -vcodec copy -acodec copy -absf aac_adtstoasc mp4/$x.mp4

done

直接生成 m3u8 文件的方法,有个小bug,自己找吧

#!/bin/bash

# 第一版:去掉菠菜广告
fun_1(){
    for i in `seq -w 36`
    do
        curl -s "https://s3.bfengbf.com/video/qingyuniandierji/第$i集/index.m3u8" \
            | sed -e "s@^000@https://s3.bfengbf.com/video/qingyuniandierji/第$i集/000@" \
                -e '/adjump/d' \
            > $i.m3u8
    done
}

# 第二版:与更新同步,没有更新的剧集不会生成 m3u8 文件
fun_2(){
    for i in `seq -w 36`
    do
        curl -s "https://s3.bfengbf.com/video/qingyuniandierji/第$i集/index.m3u8" > $i.m3u8
        cat $i.m3u8 | grep '^000.*ts$' &>/dev/null || break
        sed -i  -e '/adjump/d' \
            -e "s@^000@https://s3.bfengbf.com/video/qingyuniandierji/第$i集/000@" \
            $i.m3u8
    done
    rm -rf $i.m3u8
}

# 第三版:前面已经处理过的剧集,不再重复处理
fun_3(){
    for i in `seq -w $(ls *.m3u8 | wc -l) 36`
    do
        curl -s "https://s3.bfengbf.com/video/qingyuniandierji/第$i集/index.m3u8" > $i.m3u8
        cat $i.m3u8 | grep '^000.*ts$' &>/dev/null || break
        sed -i  -e '/adjump/d' \
            -e "s@^000@https://s3.bfengbf.com/video/qingyuniandierji/第$i集/000@" \
            $i.m3u8
    done
    rm -rf $i.m3u8
}

#fun_1
#fun_2
fun_3

直接生成 m3u8 文件的方法,有个小bug(bug最简单的修复方法)

#!/bin/bash

# 第一版:去掉菠菜广告
fun_1(){
    for i in `seq -w 36`
    do
        curl -s "https://s3.bfengbf.com/video/qingyuniandierji/第$i集/index.m3u8" \
            | sed -e "s@^000@https://s3.bfengbf.com/video/qingyuniandierji/第$i集/000@" \
                -e '/adjump/d' \
            > $i.m3u8
    done
}

# 第二版:与更新同步,没有更新的剧集不会生成 m3u8 文件
fun_2(){
    for i in `seq -w 36`
    do
        curl -s "https://s3.bfengbf.com/video/qingyuniandierji/第$i集/index.m3u8" > $i.m3u8
        cat $i.m3u8 | grep '^000.*ts$' &>/dev/null || break
        sed -i  -e '/adjump/d' \
            -e "s@^000@https://s3.bfengbf.com/video/qingyuniandierji/第$i集/000@" \
            $i.m3u8
    done
    rm -rf $i.m3u8
}

# 第三版:前面已经处理过的剧集,不再重复处理
fun_3(){
    for i in `seq -w $(ls *.m3u8 | wc -l) 36`
    do
        curl -s "https://s3.bfengbf.com/video/qingyuniandierji/第$i集/index.m3u8" > $i.m3u8
        cat $i.m3u8 | grep '^000.*ts$' &>/dev/null || break
        sed -i  -e '/adjump/d' \
            -e "s@^000@https://s3.bfengbf.com/video/qingyuniandierji/第$i集/000@" \
            $i.m3u8
    done
    rm -rf $i.m3u8
}

# 第四版:解决最后一集下载后被误删的情况
fun_4(){
    for i in `seq -w $(ls *.m3u8 | wc -l) 37`
    do
        curl -s "https://s3.bfengbf.com/video/qingyuniandierji/第$i集/index.m3u8" > $i.m3u8
        cat $i.m3u8 | grep '^000.*ts$' &>/dev/null || break
        sed -i  -e '/adjump/d' \
            -e "s@^000@https://s3.bfengbf.com/video/qingyuniandierji/第$i集/000@" \
            $i.m3u8
    done
    rm -rf $i.m3u8
}

#fun_1
#fun_2
#fun_3
fun_4