首页 > 编程语言 >ytb_dlp源码解析

ytb_dlp源码解析

时间:2024-07-23 16:20:43浏览次数:16  
标签:dlp self list archive 源码 urls download ytb ies

源代码

# -*- coding:utf-8 -*-
from yt_dlp import YoutubeDL
import pickle,os
os.environ["http_proxy"] = "http://127.0.0.1:10809"
os.environ["https_proxy"] = "http://127.0.0.1:10809"
with open('../urls.pkl','rb')as f:
    urls_list=pickle.load(f)
# youtube测试网址
# https://www.youtube.com/watch?v=BaW_jenozKc

urls_list=[ "https://www.youtube.com/watch?v="+url for url in urls_list]
# urls_list = ['https://www.youtube.com/watch?v=BaW_jenozKc']
# print(urls_list)
start_time = '00:00:5'  # start time in HH:MM:SS format
end_time = '00:00:10'
yld_opts={
    'format': 'bestvideo[height<=360]',
    'noplaylist': True,
    'writesubtitles': False,
    'audio': False,
    'outtmpl':'../origin_data/%(title)s_%(id)s.%(ext)s',
    'concurrent_fragment_downloads': 4,
    'limit_rate': None,
    # 'download_sections': f"*{start_time}-{end_time}"
}
x=1
with YoutubeDL(yld_opts) as ydl:
    ydl.download(urls_list[50:100])

进入YoutubeDL.py

  1. __init__最后一行,返回self.archive=None
...
            except OSError as ioe:
                if ioe.errno != errno.ENOENT:
                    raise
            return archive
self.archive = preload_download_archive(self.params.get('download_archive'))
...
  1. download()
        for url in url_list:
            self.__download_wrapper(self.extract_info)(
                url, force_generic_extractor=self.params.get('force_generic_extractor', False))

        return self._download_retcode

force_generic_extractor:False
3. extract_info

        if ie_key:
            ies = {ie_key: self._ies[ie_key]} if ie_key in self._ies else {}
        else:
            ies = self._ies

ies=self._ies
image

标签:dlp,self,list,archive,源码,urls,download,ytb,ies
From: https://www.cnblogs.com/Gimm/p/18318572

相关文章

  • 使用PHP实现悲观锁的最佳实践。里面包含源码
    在数据库编程中,确保数据的一致性和完整性是非常重要的。当多个用户或线程同时访问和修改同一条数据记录时,可能会出现并发问题,比如读写冲突、数据丢失等。为了解决这些问题,我们可以使用并发控制机制,其中一种常见的方法就是悲观锁。什么是悲观锁?悲观锁是一种并发控制策......
  • IT实战课堂计算机毕业设计源码精品基于springboot的线上辅导班系统的开发与设计
    项目功能简介:《[含文档+PPT+源码等]精品基于springboot的线上辅导班系统的开发与设计[包运行成功]》该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程、包运行成功以及课程答疑与微信售后交流群、送查重系统不限次数免费查重等福利!软件开发环境及开......
  • 深入解析 @SpringBootApplication 注解及其源码
    深入解析@SpringBootApplication注解及其源码在SpringBoot开发中,@SpringBootApplication注解几乎是每个项目的起点。它不仅简化了配置,还集成了多个核心注解。今天,我们将深入探讨这个注解的内部机制,并通过代码示例来展示其强大功能。1.@SpringBootApplication是什么?简单......
  • linux内核源码阅读-块设备驱动
     来自:https://in1t.top/2020/06/04/linux%E5%86%85%E6%A0%B8%E6%BA%90%E7%A0%81%E9%98%85%E8%AF%BB-%E5%9D%97%E8%AE%BE%E5%A4%87%E9%A9%B1%E5%8A%A8/ 开始fs模块之前,我发现如果对块设备/字符设备的驱动程序不了解的话,读fs代码时会困难重重。为了简化问题,本文及之后的f......
  • ssm乡村救助信息管理系统 计算机专业毕业设计源码44889
    摘要随着行业规模的不断壮大,信息变得越来越多。同时计算机网络技术高速发展,网络管理运用也变得越来越广泛。因此,建立一个BS结构的乡村救助信息管理系统来管理乡村救助信息,会使管理工作系统化、规范化,也会提高政府形象,提高管理效率。SSM乡村救助信息管理系统的主要使用者......
  • 宠物电商平台小程序 毕业设计-附源码37159
                                    目 录摘要1绪论1.1研究背景1.2研究现状1.3springboot框架介绍2 宠物电商平台小程序系统分析2.1可行性分析2.2系统流程分析2.2.1数据流程3.3.2......
  • java毕业设计-基于springboot+vue的校园二手交易系统,基于java的校园二手交易系统,基于j
    文章目录前言演示视频项目背景项目架构和内容获取(文末获取)具体实现截图前台功能管理后台技术栈具体功能模块设计系统需求分析可行性分析系统测试为什么我?关于我我自己的网站前言博主介绍:✌️码农一枚,专注于大学生项目实战开发、讲解和毕业......
  • 跟代码执行流程,读Megatron源码(三)megatron训练脚本training.py之pretrain()
    一.megatron/training目录介绍在Megatron-LM的代码仓中,megatron/training目录扮演着至关重要的角色,承载着模型训练流程的全面实现,涵盖训练逻辑的构建、训练参数的精密配置、训练数据的处理以及并行训练策略的优化部署。以下是对megatron/training目录主要代码文件的介绍:......
  • 基于java+springboot+vue实现的公司日常考勤系统(文末源码+Lw)132
     基于SpringBoot+Vue的实现的公司日常考勤系统(源码+数据库+万字Lun文+流程图+ER图+结构图+开题报告+演示视频+软件包)选题背景及意义:分析企业的考勤管理系统过程可以看到,考勤管理系统中主要要解决的是:1.考勤信息的管理;2.考勤、出勤信息的请假及申请;3.给系统设定用户登录权......
  • 基于java+springboot+vue实现的在线课程管理系统(文末源码+Lw)133
     基于SpringBoot+Vue的实现的在线课程管理系统(源码+数据库+万字Lun文+流程图+ER图+结构图+演示视频+软件包)系统功能:本在线课程管理系统有管理员,教师,学生。管理员功能有个人中心,学生管理,教师管理,在线课程管理,课件信息管理,知识要点管理,教学计划管理,考试大纲管理,科目类型管理,......