go语言并发下载电影和视频,根据m3u8索引url下载视频.下载网页中的图片,可以从当前页向下搜索层数.
一,根据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下载视频.下载网页中的图片,可以从当前页向下搜索层数.相关推荐
- 如何下载网页中的图片
http://qzher.com/?p=218 如何下载网页中的图片 发表日期 2016年4月25日 by qzher https://tuchong.com/1181287/12974705/ 怎么 ...
- 下载网页中的图片到本地
简单的一个下载如下 : string url = "http://avatar.csdn.net/A/2/6/2_yefengzhixia.jpg";string filepath ...
- python爬虫之下载电影(不是爱奇艺腾讯视频等平台哈)
尝试在我的博客中添上程序流程图,如果画的有误或有修改意见请各位大佬提出,我会加以改进的 本程序的流程 准备工作 python安装完成 pycharm安装完成 lxml.asyncio.aiohttp. ...
- 前嗅教你大数据:批量采集/下载网页中的图片数据
l 采集网站 [场景描述]采集revisionvillage网页中所有真题图片的数据. [源网站介绍]revisionvillage,国外知名IB真题网站,每道题都有视频讲解的IB数学刷题网站. [使 ...
- Python 爬虫篇-利用urllib库下载网页中的图片实例演示
我们用的是 urllib 库,这个库是 python 自带的,我们直接就可以使用. 我们需要来了解一下基本原理,它可以通过图片地址将图片下载下来. 我们来找一张图片做实例看一下. 查看图片的地址,把地 ...
- python 批量下载网页图片_Python 实现简单的爬虫功能 -----批量下载网页中的图片...
我使用的是macPro , mac 自带了python2.7 , 我自己下载了pytho3.6根据操作进行安装后,终端默认的还是 python 2.7, 需要修改为 Python3.6 进入 ~/.b ...
- 爬虫python下载电影_python爬虫:抓取下载电影文件,合并ts文件为完整视频
目标网站:https://www.88ys.cc/vod-play-id-58547-src-1-num-1.html 反贪风暴4 对电影进行分析 我们发现,电影是按片段一点点加载出来的,我们分别抓取 ...
- python下载电影视频_python爬虫:抓取下载电影文件,合并ts文件为完整视频
目标网站:https://www.88ys.cc/vod-play-id-58547-src-1-num-1.html 反贪风暴4 对电影进行分析 我们发现,电影是按片段一点点加载出来的,我们分别抓取 ...
- 使用浏览器插件,下载网页中的图片
1.360浏览器. 在扩展中搜索图片下载,点击安装此插件 提取网页图片时,只需点击浏览器右上角的图标 2.谷歌浏览器 下载 Image downloader Chrome插件 http://www.c ...
最新文章
- 每天工作4小时的程序员【转】
- php修改网页打印纸张 份数,打印机上复印10份怎么设置
- Linux内核defconfig在哪,Linux内核根目录中的配置文件.config中包含了许多宏定义,...
- qt设置行编辑器不可编辑
- VB6中的面向对象编程---实现类继承
- 国外资源下载速度太慢怎么办
- Bootstrap 3之美03-独立行,文字环绕,图片自适应,隐藏元素
- Spring4.0编程式定时任务配置
- mysql之主从复制
- coolfire文章四
- 结构体初始化、结构体指针、结构体数组
- 最通俗易懂的JUC多线程并发编程
- 网易校招内推-2023届技术类岗位
- win7 IE中使用svg时利用symbol的方式出现卡死现象
- Guawa的Splitter的工具类
- TensorFlow 卷积神经网络之猫狗识别(二)
- 提问:微信网页授权到第三方调用错误、调用微信公众号扫码登陆错误、微信SCOP权限错误或没有权限
- SQL Server数据库锁机制及类型
- 生产环境安装、配置、管理PostgreSQL14.5数据库集群。pgpool 4.3.3参数中文说明
- 东南亚跨境电商如何做测评自养号