Python爬取全球最大视频网站YouTube视频

前言

作为目前全世界最大的视频网站,它几乎全是用Python来写的
该网站当前行业内在线视频服务提供商,该网站的系统每天要处理上千万个视频片段,为全球成千上万的用户提供高水平的视频上传、分发、展示、浏览服务。2015年2月,央视首次把春晚推送到该网站。
今天,我们就要用Python来快速批量下载该网站的视频

开发环境

版 本: python 3.8
编辑器:pycharm 2021.2
第三方模块:requests + tqdm

所需模块

import requests
import re
import json
from tqdm import tqdm
import os


对于本篇文章有疑问的同学可以加【资料白嫖、解答交流群:910981974】

开始代码编写

请求数据

headers = {
    'cookie': 'VISITOR_INFO1_LIVE=9qZVrzB27uI; PREF=f4=4000000&tz=Asia.Shanghai; _ga=GA1.2.621834420.1648121145; _gcl_au=1.1.1853038046.1648121145; NID=511=Zc1APdmEbCD-iqVNVgI_vD_0S3LVI3XSfl-wUZEvvMU2MLePFKsQCaKUlUtchHSg-kWEVMGOhWUbxpQMwHeIuLjhxaslwniMh1OsjVfmOeTfhpwcRYpMgqpZtNQ7qQApY21xEObCvIez6DCMbjRhRQ5P7siOD3X87QX0CFyUxmY; OTZ=6430350_24_24__24_; GPS=1; YSC=0E115KqM_-I; GOOGLE_ABUSE_EXEMPTION=ID=d02004902c3d0f4d:TM=1648620854:C=r:IP=47.57.243.77-:S=YmZXPW7dxbu83bDuauEpXpE; CONSISTENCY=AGDxDeNysJ2boEmzRP4v6cwgg4NsdN4-FYQKHCGhA0AeW1QjFIU1Ejq1j8l6lwAc6c-pYTJiSaQItZ1M6QeI1pQ3wictnWXTOZ6_y8EKlt0Y_JdakwW6srR39-NLuPgSgXrXwtS0XTUGXpdnt4k3JjQ',
    'referer': 'https://www.youtube.com/results?search_query=jk%E7%BE%8E%E5%A5%B3',
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36'
}
url = 'https://www.有土比.com/watch?v=ImoXcSpR_io'
response = requests.get(url=url, headers=headers)

 

解析数据

json_str = re.findall('var ytInitialPlayerResponse = (.*?);var', response.text)[0]
json_data = json.loads(json_str)
video_url = json_data['streamingData']['adaptiveFormats'][0]['url']
audio_url = json_data['streamingData']['adaptiveFormats'][-2]['url']
title = json_data['videoDetails']['title']
title = title.replace(' ', '')
title = re.sub(r'[\/:|?*"<>]', '', title)

 

视频数据

video_pbar = tqdm(total=file_size)
with open(f'{title}.mp4', mode='wb') as f:
    for video_chunk in video.iter_content(1024*1024*2):
        f.write(video_chunk)
        video_pbar.set_description(f'正在下载{title}视频中......')
        video_pbar.update(1024*1024*2)
    video_pbar.set_description('下载完成!')
    video_pbar.close()

 

音频数据

audio = requests.get(audio_url, stream=True)
file_size = int(audio.headers.get('Content-Length'))
audio_pbar = tqdm(total=file_size)
with open(f'{title}.mp3', mode='wb') as f:
    for audio_chunk in audio.iter_content(1024*1024*2):
        f.write(audio_chunk)
        audio_pbar.set_description(f'正在下载{title}音频中......')
        audio_pbar.update(1024*1024*2)
    audio_pbar.set_description('下载完成!')
    audio_pbar.close()

 

合并音频和视频

def merge(title):
    ffmpeg = r'D:\Download\ffmpeg\bin\ffmpeg.exe -i ' + title + '.mp4 -i ' + title + '.mp3 -acodec copy -vcodec copy ' + title + '-out.mp4'
    os.popen(ffmpeg)

 

Python爬取全球最大视频网站YouTube视频

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python爬取全球最大视频网站YouTube视频 - Python技术站

(0)
上一篇 2023年4月2日
下一篇 2023年4月2日

相关文章

  • 一位同学的Python大作业【分析当当网书籍价格、出版社、电子书版本占比数据】

    目录 前言 本次案例实现目标 最基本思路流程: <通用> 一. 数据来源分析 二. 代码实现步骤过程: 代码实现基本四大步骤 代码实现 获取书籍详情信息 发送请求 解析数据 保存数据 运行代码得到结果 可视化图表 书籍总体价格区间 各个出版社书籍数量柱状图 电子书版本占比 书籍评论数据 词云   对于本篇文章有疑问的同学可以加【资料白嫖、解答交流…

    Python开发 2023年4月2日
    00
  • Python获取手机4K壁纸,一个入门练手的案例

    前言 一. 数据来源分析 明确需求, 我们采集网上什么数据内容, 在什么地方 分析我们想要高清原图在什么地方有 浏览器自带工具: 开发者工具 F12 鼠标右键点击 插件 选择 network 刷新网页 点击选择 Img 可以直接找到图片地址 通过搜索分析, 可以知道, 我们想要图片原图url 就在 图片详情页网页源代码里面 二. 代码大概实现步骤 发送请求,…

    Python开发 2023年4月2日
    00
  • Python爬取全球疫情数据,制作数据可视化图

    前言 开发环境 python 3.8: 解释器 pycharm: 代码编辑器 requests 发送请求 pyecharts 绘制图表 pandas 读取数据 爬虫案例思路流程: 一. 数据来源分析: 确定需求, 采集那个网站上面什么数据 抓包分析, 通过开发者工具进行抓包分析<浏览器自带工具>开发者工具F12 刷新网页 清空数据, 点击选择找相…

    Python开发 2023年4月2日
    00
  • Python采集1000多所世界大学排名数据,制作可视化图

    前言 QS世界大学排名(QS World University Rankings)是由英国一家国际教育市场咨询公司Quacquarelli Symonds(简称QS)所发表的年度世界大学排名 采集全球大学排名数据(源码已分享,求点赞) import requests # 发送请求 import re import csv with open(‘rank.cs…

    Python开发 2023年4月2日
    00
  • 英语不好能学好Python吗?Python常用英文单词汇总

    一、交互式环境与print输出 1、print:打印/输出2、coding:编码3、syntax:语法4、error:错误5、invalid:无效6、identifier:名称/标识符7、character :字符 二、字符串的操作 1、user:用户2、name:姓名/名称3、attribute:字段/属性4、value:值5、key:键 三、重复/转换/…

    Python开发 2023年4月2日
    00
  • Python tkinter 一个Music download software的界面

    前言 本次案例最终实现效果 开发环境 python 3.8: 解释器 pycharm: 代码编辑器 界面代码实现 先导入所需模块 import tkinter as tk from tkinter import ttk import tkinter.messagebox 创建窗口 root = tk.Tk() root.title(‘XXX’) # 名字自己…

    Python开发 2023年4月2日
    00
  • Python tkinter 制作文章搜索软件,有没有方便快捷不知道,好玩就行了

    前言 无聊的时候做了一个搜索文章的软件,有没有更加的方便快捷不知道,好玩就行了 环境使用 Python 3.8 Pycharm 模块使用 import requests import tkinter as tk from tkinter import ttk import webbrowser 最终效果 对于本篇文章有疑问的同学可以加【资料白嫖、解答交流群:…

    Python开发 2023年4月2日
    00
  • Python实现一个简单的自动评论,自动点赞,自动关注脚本

    前言 今天的这个脚本,是一个别人发的外包,交互界面的代码就不在这里说了,但是可以分享下自动评论、自动点赞、自动关注、采集评论和视频的数据是如何实现的 开发环境 python 3.8 运行代码pycharm 2021.2 辅助敲代码requests 第三方模块 原理: 模拟客户端,向服务器发送请求 对于本篇文章有疑问的同学可以加【资料白嫖、解答交流群:7531…

    Python开发 2023年4月2日
    00
合作推广
合作推广
分享本页
返回顶部