一,根据URL的m3u8索引,下载视频文件.

二,下载网页中的图片.

为了家里小朋友,要下载一个视频,放在电视上看. 所以利用一点时间,写了这个简单下载程序.如果视频有加密,会对其解密.
最近下点图片,又增加下载图片的功能.下载当前页(包含当前页中的网址链接中的图片).

获取m3u8索引的URL方法:
需要用google或360浏览器,进入开发者模式,按F12或ctrl+shift+c,在里面点network,再把网页刷新,搜索m3u8,就可找到index.m3u8文件的URL

以下是参数,下载失败的ts会重试下载三次,图片只重试二次:

-m 用于视频,要下载的index.m3u8网址.

-i 用于图片,当前页及其中链接的图片.

-s (可以不输入)用于图片,下载图片大于该值,默认下载大于30KB的图片.例如:(-s 80)只下载大于80KB的图片.

-l (可以不输入)用于图片,以当前参数i中输入的为第一层,向下搜索几层.默认向下搜索3层.(当以主页为第一层,层数加大,可以全站下载图片,时间要久点)

-c (可以不输入)(用于图片和视频),并发数量,默认是15个并发.
(并发数量可以加大,这样可以加快下载速度.但考虑视频网站的压力,别设大了,温柔下载)

例如:

下载视频

简单用法: dmi.exe -m https://www.mmicloud.com:65/20191204/I2jpA2LP/index.m3u8

加参数用法: dmi.exe -c 20 -m https://www.mmicloud.com:65/20191204/I2jpA2LP/index.m3u8

下载图片

简单用法: dmi.exe -i https://www.abc.com/

加参数用法: dmi.exe -c 20 -s 80 -l 5 -i https://www.abc.com/

具体源码放在github上.

链接: https://github.com/jiang-ting-hua/download_m3u8_img

main.go文件.还有几个文件在github上.

package mainimport ("flag""fmt""sync"
)var (maxGo     int = 15        //最大并发数imgSize   int = 1024 * 30 //图片大于30K,才下载MaxLayer  int = 3         //查找网页的最大层数,用于图片下载waitGroup sync.WaitGroupm3u8Url   string //m3u8下载的URLimgUrl    string //img下载的URL
)func main() {flag.StringVar(&m3u8Url, "m", "", "M3U8 url index file")flag.StringVar(&imgUrl, "i", "", "img url")flag.IntVar(&maxGo, "c", 15, "maximum number of goroutine")flag.IntVar(&imgSize, "s", 30, "Only download the above pictures (KB)")flag.IntVar(&MaxLayer, "l", 3, "Download page Max Layer")flag.Parse()switch {case m3u8Url != "":err := dowloadM3u8(m3u8Url)if err != nil {fmt.Println(err)return}case imgUrl != "":imgSize = 1024 * imgSizeDownloadImg(imgUrl)default:fmt.Println(`The parameter (m  "M3U8 URL") or (i "Img url") must be entered.`)return}}

go语言并发下载电影和视频,根据m3u8索引url下载视频.下载网页中的图片,可以从当前页向下搜索层数.相关推荐

  1. 如何下载网页中的图片

    http://qzher.com/?p=218 如何下载网页中的图片 发表日期 2016年4月25日 by qzher https://tuchong.com/1181287/12974705/ 怎么 ...

  2. 下载网页中的图片到本地

    简单的一个下载如下 : string url = "http://avatar.csdn.net/A/2/6/2_yefengzhixia.jpg";string filepath ...

  3. python爬虫之下载电影(不是爱奇艺腾讯视频等平台哈)

    尝试在我的博客中添上程序流程图,如果画的有误或有修改意见请各位大佬提出,我会加以改进的 本程序的流程 准备工作 python安装完成 pycharm安装完成 lxml.asyncio.aiohttp. ...

  4. 前嗅教你大数据:批量采集/下载网页中的图片数据

    l 采集网站 [场景描述]采集revisionvillage网页中所有真题图片的数据. [源网站介绍]revisionvillage,国外知名IB真题网站,每道题都有视频讲解的IB数学刷题网站. [使 ...

  5. Python 爬虫篇-利用urllib库下载网页中的图片实例演示

    我们用的是 urllib 库,这个库是 python 自带的,我们直接就可以使用. 我们需要来了解一下基本原理,它可以通过图片地址将图片下载下来. 我们来找一张图片做实例看一下. 查看图片的地址,把地 ...

  6. python 批量下载网页图片_Python 实现简单的爬虫功能 -----批量下载网页中的图片...

    我使用的是macPro , mac 自带了python2.7 , 我自己下载了pytho3.6根据操作进行安装后,终端默认的还是 python 2.7, 需要修改为 Python3.6 进入 ~/.b ...

  7. 爬虫python下载电影_python爬虫:抓取下载电影文件,合并ts文件为完整视频

    目标网站:https://www.88ys.cc/vod-play-id-58547-src-1-num-1.html 反贪风暴4 对电影进行分析 我们发现,电影是按片段一点点加载出来的,我们分别抓取 ...

  8. python下载电影视频_python爬虫:抓取下载电影文件,合并ts文件为完整视频

    目标网站:https://www.88ys.cc/vod-play-id-58547-src-1-num-1.html 反贪风暴4 对电影进行分析 我们发现,电影是按片段一点点加载出来的,我们分别抓取 ...

  9. 使用浏览器插件,下载网页中的图片

    1.360浏览器. 在扩展中搜索图片下载,点击安装此插件 提取网页图片时,只需点击浏览器右上角的图标 2.谷歌浏览器 下载 Image downloader Chrome插件 http://www.c ...

最新文章

  1. 每天工作4小时的程序员【转】
  2. php修改网页打印纸张 份数,打印机上复印10份怎么设置
  3. Linux内核defconfig在哪,Linux内核根目录中的配置文件.config中包含了许多宏定义,...
  4. qt设置行编辑器不可编辑
  5. VB6中的面向对象编程---实现类继承
  6. 国外资源下载速度太慢怎么办
  7. Bootstrap 3之美03-独立行,文字环绕,图片自适应,隐藏元素
  8. Spring4.0编程式定时任务配置
  9. mysql之主从复制
  10. coolfire文章四
  11. 结构体初始化、结构体指针、结构体数组
  12. 最通俗易懂的JUC多线程并发编程
  13. 网易校招内推-2023届技术类岗位
  14. win7 IE中使用svg时利用symbol的方式出现卡死现象
  15. Guawa的Splitter的工具类
  16. TensorFlow 卷积神经网络之猫狗识别(二)
  17. 提问:微信网页授权到第三方调用错误、调用微信公众号扫码登陆错误、微信SCOP权限错误或没有权限
  18. SQL Server数据库锁机制及类型
  19. 生产环境安装、配置、管理PostgreSQL14.5数据库集群。pgpool 4.3.3参数中文说明
  20. 东南亚跨境电商如何做测评自养号

热门文章

  1. 根据用户给出的年份求天干、地支和生肖(Java源代码)
  2. 网络流24题——2.太空飞行计划问题
  3. 【图像融合】基于随机游走算法实现多焦点图像融合含Matlab代码
  4. 堆、栈、队列的区别以及使用场景
  5. 一种简单的封装VP8/VP9视频的容器:IVF格式
  6. 创新金融科技:农产品数字化交易初探 PPT分享
  7. 2021中国各省区块链政策竞争力指数TOP10(3月)|链塔月榜
  8. 2023NHOI数三角形题解
  9. openssh与防火墙
  10. JAVA 聊天室(韩顺平)