当前位置: 首页 > news >正文

简单的用Python实现一下,采集某牙视频,多个视频翻页下载

前言

表弟自从学会了Python,每天一回家就搁那爬视频,不知道的以为是在学习,结果我昨天好奇看了一眼,好家伙,在那爬某牙舞蹈区,太过分了!

为了防止表弟做坏事,我连忙找了个凳子坐下,跟他一起欣赏~

啊呸,不对,监督他!

当然,作为一个大公无私的人,好东西怎么能独享呢?

这不立马就给大家分享一下~

准备工作

首先我们需要准备这些

软件模块

软件

  • Python 3.10 解释器
  • Pycharm 编辑器

模块

  • requests # 数据请求
  • re # 正则表达式模块

requests是第三方模块,win + R 输入cmd 输入安装命令 pip install requests 安装即可,re 是自带的模块,无需安装。

实现思路与流程

一. 数据来源分析

1. 明确需求: 明确采集的网站以及数据内容- 网址: https://www.某牙.com/video/play/933940354.html- 数据: 视频标题 / 视频内容 <主要数据>
2. 抓包分析: 浏览器开发者工具去抓包- 打开开发者工具: F12 / 右键点击检查选择network (网络)- 刷新网页: 网页相关数据内容- 通过关键字去搜索找到对应的数据包位置搜索: M3U8 -> getMomentContent数据包地址: https://某牙.com/moment/getMomentContent

二. 代码实现步骤

1. 发送请求 -> 模拟浏览器对于url地址发送请求
2. 获取数据 -> 获取服务器返回响应数据
3. 解析数据 -> 提取视频标题 / 链接
4. 保存数据 -> 获取视频数据保存本地文件夹里面

源码展示

发送请求 -> 模拟浏览器对于url地址发送请求

headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36'
}
url = f'https://某牙.com/moment/getMomentContent?videoId=904494849&uid=&_=1700050245436'
# 发送请求
response = requests.get(url=url, headers=headers)

获取数据 -> 获取服务器返回响应数据

json_data = response.json() # json() 括号里面不需要加东西

解析数据 -> 提取视频标题 / 链接

# 提取标题
title = json_data['data']['moment']['title']
# 提取视频链接
video_url = json_data['data']['moment']['videoInfo']['definitions'][0]['url']

保存数据 -> 获取视频数据保存本地文件夹里面

video_content = requests.get(url=video_url, headers=headers).content
with open('video\\' + title + '.mp4', mode='wb') as f:# 写入数据f.write(video_content)
print(title, video_url)

完整源码和视频讲解我都打包好了,直接文末名片自取~

效果展示

播放效果我就不展示了,影响不好,大家自行观看~

好了,本次的分享就到这结束了,咱们下次见!

相关文章:

简单的用Python实现一下,采集某牙视频,多个视频翻页下载

前言 表弟自从学会了Python&#xff0c;每天一回家就搁那爬视频&#xff0c;不知道的以为是在学习&#xff0c;结果我昨天好奇看了一眼&#xff0c;好家伙&#xff0c;在那爬某牙舞蹈区&#xff0c;太过分了&#xff01; 为了防止表弟做坏事&#xff0c;我连忙找了个凳子坐下&…...

【手撕数据结构】二分查找(好多细节)

&#x1f308;键盘敲烂&#xff0c;年薪30万&#x1f308; 目录 普通版本的二分查找&#xff1a; right只负责控制边界(少了两次比较)&#xff1a; 时间复杂度更稳定的版本&#xff1a; BSLeftmost&#xff1a; BSRightmost&#xff1a; 普通版本的二分查找&#xff1a; …...

Python+Selenium WebUI自动化框架 -- 基础操作封装

前言&#xff1a; 封装Selenium基本操作&#xff0c;让所有页面操作一键调用&#xff0c;让UI自动化框架脱离高成本、低效率时代&#xff0c;将用例的重用性贯彻到极致&#xff0c;让烦人的PO模型变得无所谓&#xff0c;让一个测试小白都能编写并实现自动化。 知识储备前提&a…...

PyCharm 【unsupported Python 3.1】

PyCharm2020.1版本&#xff0c;当添加虚拟环境发生异常&#xff1a; 原因&#xff1a;Pycharm版本低了&#xff01;不支持配置的虚拟环境版本 解决&#xff1a;下载PyCharm2021.1版本&#xff0c;进行配置成功&#xff01;...

flutter TabBar指示器

第一层tabView import package:jade/configs/PathConfig.dart; import package:jade/customWidget/MyCustomIndicator.dart; importpackage:jade/homePage/promotion/promotionPost/MyPromotionListMainDesc.dart; import package:jade/homePage/promotion/promotionPost/MyPr…...

PDF/X、PDF/A、PDF/E:有什么区别,为什么有这么多格式?

PDF 是一种通用文件格式&#xff0c;允许用户演示和共享文档&#xff0c;无论软件、硬件或操作系统如何。多年来&#xff0c;已经创建了多种 PDF 子类型来满足各个行业的不同需求。让我们看看一些最流行的格式&#xff1a;PDF/X、PDF/A 和 PDF/E。 FastReport .net下载 PDF/X …...

Microsoft发布了一份关于其产品安全修复的 11 月报告。

&#x1f47e; 平均每天有 50 多个漏洞被发现&#xff0c;其中一些会立即被网络犯罪分子利用。我们把那些现在很受网络犯罪分子欢迎&#xff0c;或者根据我们的预测&#xff0c;在不久的将来可能会被大量利用的漏洞称为趋势漏洞。 在攻击者开始利用这些漏洞之前 12 小时&#…...

12v24v60v高校同步降压转换芯片推荐

12V/24V/60V 高校同步降压转换芯片推荐&#xff1a; 对于需要高效、稳定、低噪音的降压转换芯片&#xff0c;推荐使用WD5030E和WD5105。这两款芯片都是采用同步整流技术&#xff0c;具有高效率、低噪音、低功耗等优点&#xff0c;适用于各种电子设备。 WD5030E是一款高效率…...

pip 问题

升级pip命令&#xff1a; python -m pip install --upgrade pippip不能下载pytorch&#xff1a; 这个问题我一直没解决。不知道有哪位大佬可以留言给我。把whl文件下载到本地也没有&#xff0c;pip不会进行本地文件夹搜索。...

云计算(一):弹性计算概述

云计算&#xff08;一&#xff09;&#xff1a;弹性计算概述 背景含义原理应用 背景 在实际场景中&#xff0c;经常会出现短时间内资源需求爆发式增长或长时间内资源需求不断增长&#xff0c;这时需要资源供给时刻满足需求的变化&#xff0c;保障业务正常运行。传统的供给方式…...

Qt/C++ 获取QProcess启动的第三方软件的窗体标题

Qt/C 获取QProcess启动的第三方软件的窗体标题&#xff0c;在使用EnumWindows获取窗体句柄(HWND)时&#xff0c;如果返回提前FALSE&#xff0c;则获取到的HWND状态IsWindow正常&#xff0c;但就是获取不到窗体标题。必须正常返回TRUE才能使用HWND获取到窗体标题&#xff0c;要不…...

Borland编辑器DOS系统快捷键应用

在项目中接触到DOS系统&#xff0c;该系统距离当下已经接近20年时间&#xff0c;网络上资源较少&#xff0c;因为需要用到C语言编辑器BorlandC,每次应用时难免会忘记快捷键使用&#xff0c;给使用造成很大的不便。 于是把现有收集的快捷键做出整理便于使用&#xff0c;供大家参…...

KeyarchOS的CentOS迁移实践:使用操作系统迁移工具X2Keyarch V2.0

KeyarchOS的CentOS迁移实践&#xff1a;使用操作系统迁移工具X2Keyarch V2.0 作者&#xff1a; 猫头虎博主 文章目录 KeyarchOS的CentOS迁移实践&#xff1a;使用操作系统迁移工具X2Keyarch V2.0&#x1f405;摘要引言1. 迁移前的精心准备1.1 系统环境介绍1.2 深度数据验证1.2.…...

Golang抓包:实现网络数据包捕获与分析

介绍 在网络通信中&#xff0c;网络数据包是信息传递的基本单位。抓包是一种监控和分析网络流量的方法&#xff0c;用于获取网络数据包并对其进行分析。在Golang中&#xff0c;我们可以借助现有的库来实现抓包功能&#xff0c;进一步对网络数据进行分析和处理。 本文将介绍如…...

分类预测 | Matlab实现QPSO-SVM、PSO-SVM、SVM多特征分类预测对比

分类预测 | Matlab实现QPSO-SVM、PSO-SVM、SVM多特征分类预测对比 目录 分类预测 | Matlab实现QPSO-SVM、PSO-SVM、SVM多特征分类预测对比分类效果基本描述程序设计参考资料 分类效果 基本描述 1.Matlab实现QPSO-SVM、PSO-SVM、SVM分类预测对比&#xff0c;运行环境Matlab2018b…...

kubernetes部署jenkins

参考&#xff1a;kubernetes 部署 Jenkins jenkins kubernetes pipeline_mob64ca14116c53的技术博客_51CTO博客 第七篇&#xff1a;kubernetes部署jenkins-CSDN博客 1、当前kubernetes集群已部署nfs服务 showmount -e 创建jenkins目录 2、添加jenkins的pvc kubectl create …...

Node.js详解

一、是什么 Node.js 是一个开源与跨平台的 JavaScript 运行时环境 在浏览器外运行 V8 JavaScript 引擎&#xff08;Google Chrome 的内核&#xff09;&#xff0c;利用事件驱动、非阻塞和异步输入输出模型等技术提高性能 可以理解为 Node.js 就是一个服务器端的、非阻塞式I/…...

v-html命令渲染的内容,使用scoped属性的情况下,样式不起作用

v-html命令渲染的内容&#xff0c;使用scoped属性的情况下&#xff0c;样式不起作用 如&#xff1a; CSS&#xff1a; <style scoped> .question_title_text img{ display: block; height: 200px; margin: 10px auto 0 auto;} </style> HTML&#xff1a; <d…...

浅谈vue2.0和vue3.0的区别

Vue3.0相对于Vue2.0有以下改进&#xff1a; Vue 3.0 是一个新版本的 Vue.js&#xff0c;它提供了更高效的渲染性能和更强大的工具链。下面是一些 Vue 3.0 的具体用法&#xff1a; 创建 Vue 实例&#xff1a;与 Vue 2.x 相同&#xff0c;使用 Vue.createApp() 方法创建 Vue 实例…...

git clone报错SSL connect error

解决CentOS 6.6上Git操作引发的SSL连接错误问题 最近在处理一个CentOS 6.6服务器上的问题时&#xff0c;遇到了一个比较棘手的问题。我的小伙伴在操作Git时&#xff0c;发现无法执行git pull命令&#xff0c;提示找不到Git组件。在这篇文章中&#xff0c;我会详细介绍我们是如…...

智慧树刷课插件:用技术解放你的学习时间,告别重复点击的烦恼

智慧树刷课插件&#xff1a;用技术解放你的学习时间&#xff0c;告别重复点击的烦恼 【免费下载链接】zhihuishu 智慧树刷课插件&#xff0c;自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 还在为智慧树平台上一集接一集的视…...

IGND算法:融合高斯牛顿法与增量学习的优化新范式

1. IGND算法&#xff1a;当高斯牛顿法遇见增量学习在机器学习的世界里&#xff0c;模型训练的本质就是一场持续的优化之旅。我们手握一个由参数构成的复杂函数&#xff0c;目标是在浩瀚的参数空间中&#xff0c;找到那个能让预测误差最小化的“甜蜜点”。多年来&#xff0c;随机…...

C#中预处理器指令的实现示例

1. 什么是编译器&#xff1f;编译器是一种将高级编程语言代码&#xff08;如 C#、Java、Python&#xff09;翻译成计算机可执行代码&#xff08;如机器码或中间语言&#xff09;的程序。它的核心作用包括&#xff1a;语法检查&#xff1a;验证代码是否符合语言规范。优化&#…...

连续处理效应下的双重差分:从二元到连续的范式演进与DML应用

1. 连续处理效应下的双重差分&#xff1a;从二元到连续的范式演进双重差分&#xff08;Difference-in-Differences, DiD&#xff09;是评估政策或干预因果效应的基石方法。它的核心逻辑直观而有力&#xff1a;比较处理组和对照组在干预前后的结果变化&#xff0c;其差值就被认为…...

Keil MDK许可证错误解决方案与调试技巧

1. 问题现象与背景解析 当使用Keil MDK进行嵌入式开发时&#xff0c;部分用户在编译或调试阶段会遇到"LICENSE: License Mapping Failed"的错误提示。这个报错通常出现在以下两种场景&#xff1a; 编译阶段&#xff1a;在Build Output窗口突然弹出红色错误提示&…...

Arm嵌入式工具链全解析:从获取到优化

1. Arm嵌入式工具链概述Arm Toolchain for Embedded是Arm公司为嵌入式系统开发提供的一套完整工具链集合&#xff0c;包含编译器、调试器、链接器等核心组件。作为嵌入式开发领域的标准工具链&#xff0c;它支持从Cortex-M系列微控制器到Cortex-A系列应用处理器的全系列Arm架构…...

量子机器学习可解释性:从黑箱到透明决策的LRP与数字孪生方法

1. 量子机器学习可解释性&#xff1a;从黑箱到透明决策量子机器学习&#xff08;QML&#xff09;这几年火得不行&#xff0c;但说实话&#xff0c;很多从业者&#xff0c;包括我自己在内&#xff0c;最初接触时都有点“懵”。模型性能上去了&#xff0c;可它到底是怎么做决策的…...

Lovable移动端体验跃迁指南(2024年iOS/Android双平台实测数据验证)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Lovable移动端体验跃迁的范式变革 移动体验正从“可用”迈向“可恋”——Lovable 不再是情感修辞&#xff0c;而是以用户心智留存为标尺的技术范式重构。它要求交互具备可预测性、反馈具备呼吸感、动效…...

量子计算中的ZZ串扰问题与周期感知优化方法

1. 量子硬件中的ZZ串扰问题解析在NISQ&#xff08;含噪声中等规模量子&#xff09;时代&#xff0c;量子硬件面临的最大挑战之一就是各种噪声源对量子计算过程的干扰。其中&#xff0c;ZZ串扰&#xff08;ZZ crosstalk&#xff09;是一种特别棘手的噪声机制&#xff0c;它源于量…...

用Python模拟10000次实验,直观理解卡方分布如何从正态分布‘长’出来

用Python模拟10000次实验&#xff0c;直观理解卡方分布如何从正态分布‘长’出来统计学中的分布概念常常让人望而生畏&#xff0c;尤其是当公式推导占据主导时。但如果我们换一种方式——用代码和可视化来探索&#xff0c;这些抽象概念会立刻变得鲜活起来。今天&#xff0c;我们…...