小破站有许多“高质量”东西,怀揣着“学习”的目的,我用Python将它们通通采集下来

这篇具有很好参考价值的文章主要介绍了小破站有许多“高质量”东西,怀揣着“学习”的目的,我用Python将它们通通采集下来。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

大家早好、午好、晚好吖 ❤ ~欢迎光临本文章

小破站有许多“高质量”东西,怀揣着“学习”的目的,我用Python将它们通通采集下来

事情是这样的,昨晚室友拉着我去他的电脑,说带我欣赏一点高雅的作品~

于是这一坐下,便是一晚上…

作为一个乐于分享的博主,本来我是决定直接分享的,

但是转念一想:有句俗话不是说授人以鱼不如授人以渔,

我还是直接出教程方便大家以后遇到了喜欢的,也能及时下载保存。

小破站有许多“高质量”东西,怀揣着“学习”的目的,我用Python将它们通通采集下来

开发环境:

开发环境:

  • python 3.8 运行代码

  • pycharm 2022.3.2 辅助敲代码 专业版

  • ffmpeg

内置模块使用:

  • subprocess

  • re

第三方模块使用:

  • requests 发送请求

第三方模块安装:

win + R 输入cmd 输入安装命令 pip install 模块名

(如果你觉得安装速度比较慢, 你可以切换国内镜像源)

完整源码、教程 点击此处跳转文末名片获取 ,我都放在这里了。

代码实现步骤

  1. 发送请求, 对于视频详情页url地址发送请求

  2. 获取数据, 获取响应体的文本数据 response.text

  3. 解析数据, 通过正则表达式提取数据内容: 视频标题 cid session

  4. 发送请求, 对于视频内容数据包url发送请求

  5. 获取数据, 获取响应体的json字典数据 response.json()

  6. 解析数据, 通过字典键值对取值, 提取音频url 视频url

  7. 保存数据, 对于音频url 视频url发送请求 获取响应体二进制数据response.content

  8. 合成数据, 把音频内容以及视频画面内容合成为一个完整的mp4文件

代码实现

1、发送请求

导入模块

import requests
import re
import subprocess

伪装浏览

headers = {
    'referer': 'https://www.****.com',
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36',
}

发送请求

def get_response(html_url):
    response = requests.get(url=html_url, headers=headers)
    return response

2、获取视频标题/cid/session

def get_video_info(html_url):
    response = get_response(html_url)
    cid = re.findall('"cid":(\d+),', response.text)[0]
    session = re.findall('"session":"(.*?)"', response.text)[0]
    title = re.findall('<h1 title="(.*?)" class="video-title">', response.text)[0].replace(' ', '')
    video_info = [cid, session, title]
    return video_info

3、获取音频url/视频url

def get_video_content(cid, session, bvid):
    index_url = 'https://api.****.com/x/player/playurl'
    data = {
        'cid': cid,
        'qn': '80',
        'type': '',
        'otype': 'json',
        'fourk': '1',
        'bvid': bvid,
        'fnver': '0',
        'fnval': '976',
        'session': session,
    }
    json_data = requests.get(url=index_url, params=data, headers=headers).json()
    audio_url = json_data['data']['dash']['audio'][0]['baseUrl']
    video_url = json_data['data']['dash']['video'][0]['baseUrl']
    video_content = [audio_url, video_url]
    return video_content

4、保存数据

def save(name, audio_url, video_url):
    audio_content = get_response(audio_url).content
    video_content = get_response(video_url).content
    with open(name + '.mp3', mode='wb') as a:
        a.write(audio_content)
    with open(name + '.mp4', mode='wb') as v:
        v.write(video_content)
    print(name, '保存成功')

5、合成视频

def merge_data(video_name):
    print('视频合成开始:', video_name)
    cmd = f"ffmpeg -i {video_name}.mp4 -i {video_name}.mp3 -c:v copy -c:a aac -strict experimental {video_name}output.mp4"
    # print(cmd)
    subprocess.run(cmd, shell=True)
    print('视频合成结束:', video_name)

尾语 💝

好了,今天的分享就差不多到这里了!

完整代码、更多资源、疑惑解答直接点击下方名片自取即可。

对下一篇大家想看什么,可在评论区留言哦!看到我会更新哒(ง •_•)ง

喜欢就关注一下博主,或点赞收藏评论一下我的文章叭!!!

小破站有许多“高质量”东西,怀揣着“学习”的目的,我用Python将它们通通采集下来

最后,宣传一下呀~👇👇👇更多源码、资料、素材、解答、交流皆点击下方名片获取呀👇👇👇文章来源地址https://www.toymoban.com/news/detail-464976.html

到了这里,关于小破站有许多“高质量”东西,怀揣着“学习”的目的,我用Python将它们通通采集下来的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 如何写出高质量代码

    一、 前言 编写高质量代码是每一位程序员的追求。高质量的代码可以提高代码可读性、可维护性、可扩展性以及软件运行的性能和稳定性。在这篇文章中,我将分享一些编写高质量代码的特征、编程实践技巧和软件工程方法论。 可读性:好的代码应该能够被维护者轻易地理

    2024年02月02日
    浏览(88)
  • 如何写出高质量的代码

    你是否曾经为自己写的代码而感到懊恼?你是否想过如何才能写出高质量代码?那就不要错过这个话题!在这里,我们可以讨论什么是高质量代码,如何写出高质量代码等问题。无论你是初学者还是资深开发人员,都可以在这个话题下进行分享,汲取灵感和知识,共同提高自

    2023年04月25日
    浏览(129)
  • 网络安全高质量文库

    PeiQI文库 http://api.orchidstudio.cn/ PeiQi文库是一个面对网络安全从业者的知识库,涉及漏洞研究,代码审计,CTF夺旗,红蓝对抗等多个安全方向,用于解决安全信息不聚合,安全资料不易找的难题。帮助网络安全从业者共同构建安全的互联网,快速验证并及时修复相关漏洞,为甲

    2024年02月12日
    浏览(54)
  • 如何编写高质量的测试计划

    1.1目的 简述本计划的目的,旨在说明各种测试阶段任务、人员分配和时间安排、工作规范等。 测试计划在策略和方法的高度说明如何计划、组织和管理测试项目。测试计划包含足够的信息使测试人员明白项目需要做什么是如何运作的。另外,清晰的文档结构能使任何一个读

    2024年02月16日
    浏览(54)
  • Visio 转为高质量PDF

    Visio另存为pdf不够清晰怎么办 - - 可以选择先另存为高分辨率的图片( 存的时候分辨率选择打印机或者自定义即可 ),然后转为pdf. 或者用 打印 1 保存为高质量 2 的pdf (本文介绍) 版本:Microsoft Visio 2010 Adobe Acrobat 2018 关键就是设置分辨率,不按照以上流程亦可 一般情况下安装完

    2024年02月04日
    浏览(52)
  • 有哪些高质量的自学网站?

    分享32个鲜为人知并且完全免费的高质量自学网站,每个都是堪称神器,让你相见恨晚。 是一个完全免费的综合视频教程网站,非常良心实用。 它提供的视频教程非常丰富并且质量很高,包括:PS 教程、手机摄影教程、Ai 做图教程、Excel 教程、Word 教程、PPT 教程、Pr 视频剪辑

    2024年02月02日
    浏览(129)
  • 【交付高质量,用户高增长】-用户增长质量保证方法论

    俗话说,“测试是质量的守护者”,但单凭测试本身却远远不够。大多数情况下,测试像“一面镜子”,照出系统的面貌,给开发者提供修改代码的依据,这个“照镜子”的过程,就是质量评估的过程,或者说,测试的过程更像“量体温”,虽然可以测量出温度进而判断健康

    2024年02月08日
    浏览(68)
  • ChatGPT高质量prompt技巧指南-《向 ChatGPT 提问获取高质量答案的艺 术:Prompt 工程技术完全指南》图书分享

    一、图书简介:本书是一本全面的指南,介绍了各种 Prompt 技术的理解和利用,用于从 ChatGPT中生成高质量的答案。 我们将探讨如何使用不同的 Prompt 工程技术来实现不同的目标。ChatGPT 是一 种先进的语言模型,能够生成类似人类的文本。然而,了解正确的提问方式以获 取我

    2024年02月03日
    浏览(59)
  • Go语言——【高质量编程 | 代码规范】

    作者 :非妃是公主 专栏 :《Golang》 博客主页 :https://blog.csdn.net/myf_666 个性签:顺境不惰,逆境不馁,以心制境,万事可成。——曾国藩 高质量编程,就是指编写的代码能够达到正确可靠的同时,具备简洁清晰、结构明了等特点,可以让团队成员很快的上手。具体来说,有

    2024年02月01日
    浏览(100)
  • 如何写出高质量的测试用例?

           编写测试用例是一个测试人员的基本功,如果你从网上搜索如何编写测试用例的话,大概率会得到如下答案:       编写测试用例的方法:1、正交试验法;2、边界值分析法;3、等价类划分;4、测试大纲法;5、因果图法;6、判定表驱动法;7、场景图法;8、错误推

    2024年02月12日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包