内容简介:This repository contains a single-file implementation of YouTube video downloader written in Go. It does not require any third-party packages, only built-in packages from the standard library. The code is compact and easily-readable.You can fetch one of th
GoTube
Overview
This repository contains a single-file implementation of YouTube video downloader written in Go. It does not require any third-party packages, only built-in packages from the standard library. The code is compact and easily-readable.
Installation
You can fetch one of the executable binaries (preferably latest one) from Releases. The binaries only support Windows (32 and 64 bit) and Linux (32 and 64 bit) this time.
From Source
If you don't have Go installed yet, download here . Clone this repository and go to the repository directory. Then run the following command:
go build gotube.go
How It Works?
When GoTube receives a YouTube video URL as an input, it will extract a video id portion of the URL. Then it sends a HTTP GET request to a server through URL https://www.youtube.com/get_video_info with the video id as a query string. The GET request will return an encoded data containing YouTube video data which will be decoded by GoTube. It will then extract the video's title, file format and its download URL from the data. After getting all necessary data, GoTube makes a video file with specified title and file format in User's OS and sends another HTTP GET request to the download URL. The data received through the GET request will be copied to the created video file.
Steps:
- GoTube begins by extracting a video id from a YouTube URL (ex. if the URL is
https://www.youtube.com/watch?v=9aUlHLaVmkc, GoTube will extract9aUlHLaVmkcpart). - GoTube sends an HTTP GET request to a server through
https://www.youtube.com/get_video_infowith the video id as a query string (ex. using id from the previous example,https://www.youtube.com/get_video_info?video_id=9aUlHLaVmkc). - GoTube retrieves the video's title, file format and its download URL from an encoded data received through the GET request.
- GoTube creates a video file in User's OS and make another GET request through the download URL.
- GoTube copies contents of data received through the GET request to the created video file.
Example Commands
gotube -vidurl=https://www.youtube.com/watch?v=vUOHGL4Iv34 -outdir=<download directory>
gotube -vidurl=https://www.youtube.com/watch?v=Hh_HyNfyOKs -outdir=<download directory>
With verbose option:
gotube -vidurl=https://www.youtube.com/watch?v=wJMkvlTAzHc -outdir=<download directory> -v
Replace <download directory> your download directory (ex. C:\users\marethyu\documents\poo)
TODO
- Option to download audio only
- Download whole playlist
- Progress bar?
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
信息检索导论
Christopher D.Manning、Hinrich Schütze、Prabhakar Raghavan / 王斌 / 人民邮电出版社 / 201008 / 69.00元
封面图片为英国伯明翰塞尔福瑞吉百货大楼,其极具线条感的轮廓外型优美,犹如水波的流动。其外表悬挂了1.5万个铝碟,创造出一种极具现代气息的纹理装饰效果,有如夜空下水流的波光粼粼,闪烁于月光之下,使建筑的商业氛围表现到极致。设计该建筑的英国“未来系统建筑事物所”,将商场内部围合成一个顶部采光的中庭,配以交叉的自动扶梯,使购物环境呈现出一种凝聚的向心力和商业广告的展示效应。作为英国第二商业城市伯明翰的建......一起来看看 《信息检索导论》 这本书的介绍吧!