python 从0到批量下载某站视频
简介:真实从0到1,童叟无欺~
目标:用python批量下载某站搜索视频,以“CG 服装”为例

本章主要介绍如何用python把搜索到的视频直接下载到自己的本地文件夹中~
介绍一下工作流
- 1. 下载并安装python
- 2. 测试python是否安装成功
- 3. 打开jupyter notebook开始工作
- 3.1 批量获取想要下载的视频链接
- 3. 2 将这些视频批量下载到本地文件夹中
1. 下载并安装python
这里推荐并介绍下载anaconda,为什么要下载Anaconda呢,Anaconda和Python是什么关系呢~
Anaconda和Python相当于是汽车和发动机的关系,你安装Anaconda后,就像买了一台车,无需你自己安装发动机和其他零配件,而Python作为发动机提供Anaconda工作所需的内核。

简单来说,你可以把Anaconda看做成Python在数据科学领域的瑞士军刀,什么都给你安排好了,就等你下载安装。
指路下载链接与下载安装教程:
复制网址,进入anaconda官网:https://www.anaconda.com/

点击箭头指向位置,进入以下页面

点击此处开始下载(也有朋友推荐不下载最新版本的,个人习惯使用最新版本的~)
下载好后按照以下教程一步一步操作,直到finish:
https://blog.csdn.net/baidu_22225919/article/details/82957508
2. 测试python是否安装成功
回到主页,按键win+R或者直接搜索cmd,打开命令提示符

输出python并按回车,如下显示表示下载成功

然后输入quit()退出
停留在这个页面不要关掉,稍后还会用到~
3. 打开jupyter notebook开始工作
科普:那jupyter notebook又是什么呢?
简单来说,是一个编程工具,用来做python等语言的编程工作。代码可以写一行运行一行,出现错误修改非常方便,无需从头再来一次,很适合初学者或者教学使用。
当你下载好了anaconda就自带了这个编程工具,直接搜索它就好啦~

打开网页以后,可以新建自己的文件夹或者直接新建写代码的页面,这里我们就痛快直接开始~

进入后的页面如下所示:

3.1 批量获取想要下载的视频链接
然后开动!将以下代码复制进去
## 获取网页链接
from bs4 import BeautifulSoup
import requests
userSeach='CG 服装'。## 搜索内容,按自己需求来
page=1
viedoNum=0
val=0
mainUrl='https://search.bilibili.com/all?keyword='+userSeach
mainSoup = BeautifulSoup(requests.get(mainUrl).text, "html.parser")
pages=mainSoup.find('li',class_="page-item last")
links = []
if(pages):
## pages=int(pages.text)pages=1 ## 想要下载的页数,按自己需求来
else:pages=1
while page<=pages:mainUrl='https://search.bilibili.com/all?keyword='+userSeach+'&page='+page.__str__()mainSoup = BeautifulSoup(requests.get(mainUrl).text, "html.parser")for item in mainSoup.find_all('li',class_="video-item matrix"):viedoNum += 1print('第'+ viedoNum.__str__() + '个视频:')val=item.find('a',class_="img-anchor")print('视频标题:'+ val["title"])print('https:'+val["href"])link = ['https:'+val["href"]]print('视频链接:'+'https:'+val["href"])print('视频简介:'+item.find('div',class_="des hide").text.strip())print('up主:'+ item.find('a',class_="up-name").text.strip())print('视频观看量:'+ item.find('span',title='观看').text.strip())print('弹幕量:'+ item.find('span',title='弹幕').text.strip())print('上传时间:'+ item.find('span',title='上传时间').text.strip())subUrl=val["href"];subSoup = BeautifulSoup(requests.get('https:'+subUrl).text.strip(), "html.parser")print('视频图片:'+subSoup.find(itemprop="image")["content"])links=links+linkpage+=1
然后在这个框格处按运行即可

⚠️注意,这里第一次运行会报错,python中常常会调用写好的包方便我们用简单的代码就可以变成,这里是因为第一行用到的bs4包和第二行用到的requests包没有加载进来,再返回刚刚的命令提示符页面中,将这两个包加载进来

依次输出这两个红框中的内容,等待他们运行完成,再回来按一次运行,即可得到以下结果

可以根据内容判断是不是自己想要的,然后再进行下一步操作
3. 2 将这些视频批量下载到本地文件夹中
跟上面一样,先把这个厉害的包下载进来
然后将以下的代码复制到第二个框框里,先在D盘新建一个video文件夹(不建也可以,它是个成熟的程序,会自己建的),然后运行:

import os
for link in links:print('you-get -o d:/vedio/ '+link)os.system('you-get -o d:/vedio/ '+link)
找到下面那个图标位置,点开当前页面,你就会发现视频已经在下载啦~

然后,我们去文件夹video里面看看
当当当~ 下载成功啦~
欢迎大家测试使用,有问题及时留言嗷~
相关文章:
python 从0到批量下载某站视频
简介:真实从0到1,童叟无欺~ 目标:用python批量下载某站搜索视频,以“CG 服装”为例 本章主要介绍如何用python把搜索到的视频直接下载到自己的本地文件夹中~ 介绍一下工作流1. 下载并安装python2. 测试pyt…...
【深度学习】神经网络和深度学习--卷积和池化的作用
深度学习通常指训练大型深度的神经网络的过程。 与传统的神经网络模型相比,深度学习模型在结构上与之非常相似;不同的是,深度学习模型的“深度”更大,“深度”的体现就是神经网络层数多,神经网络每一层的结点数多。 本…...
锦正茂风冷系列电源JCP-10-80的技术参数
JCP-10-80为高稳定度的双极性恒流电源,广泛应用于电磁铁、亥姆霍兹线圈等感性负载的励磁。电源采用线性电源结构,输出电流稳定度高,纹波和噪声低。电源输出电流可在正负额定电流*值之间连续变化,电流平滑连续过零,可使…...
Idea+maven+spring-cloud项目搭建系列--11-1 dubbo(zookeeper,nacos)注册中心
前言:dubbo rpc 服务需要将服务提供者和消费者信息进行注册,以便于消费端可以完成远程接口调用;注册中心是 Dubbo 服务治理的核心组件,Dubbo 依赖注册中心的协调实现服务(地址)发现,自动化的服务…...
Python3入门教程||Python3 迭代器与生成器||Python3 函数
Python3 迭代器与生成器 迭代器 迭代是 Python 最强大的功能之一,是访问集合元素的一种方式。。 迭代器是一个可以记住遍历的位置的对象。 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。 迭代器有两…...
快速幂算法
快速幂算法 文章目录快速幂算法一、简单介绍二、计算7107^{10}710三、一般化1、计算ana^nan的快速方法:2、时间复杂度分析:四、代码五、参考资料一、简单介绍 快速幂(Exponentiation by squaring,平方求幂)是一种简…...
Hudi:问题总结(2)Flink-1.13.1消费kafka并插入hudi
问题一:java.lang.ClassNotFoundException: com.google.protobuf.MessageOrBuilder) 解决:字面意思,没找到类,将protobuf-java-3.2.0-jar包放到fink/lib/下 如果报commons-cli相关的错,就将commons-cli-1.4.jar放到f…...
Application工具方法
//注册这个接口registerActivityLifecycleCallbacks(activityLifecycleCallbacks);}Overridepublic void onTerminate() {//注销这个接口。unregisterActivityLifecycleCallbacks(activityLifecycleCallbacks);super.onTerminate();}public static List<Activity> activi…...
电脑游戏怎么录屏?其实很简单,只需要简单3步
电脑游戏一直是游戏爱好者最热衷的游戏之一。但是,有时候我们想分享我们在游戏中的精彩时刻,或者记录我们的游戏过程以便后续观看和学习。在这种情况下,录屏就成了必不可少的工具。但是,许多人可能不知道电脑游戏怎么录屏。在本文…...
【设计模式】go语言中的 [函数选项,单例,工厂,责任链] 常用的设计模式
文章目录前言一、函数选项模式二、单例模式三、工厂模式四、责任链模式前言 宿舍每人 温度38℃+ 大寄 设计模式很重要,设计模式其实就是为了解决某一类问题而形成的代码写法,设计模式很多,但是并不是每个都很常用,我们…...
2017系统分析师案例分析真题背记内容
前言 以下内容仅为个人根据当年系分案例真题问题整理的偏需要记背的考点答案,方便个人背诵和记忆使用。方便文字转语音,所以内容全为纯文字内容,以下内容仅供参考。 背记内容 微服务 微服务中应该包含的内容有:资源、对资源的…...
C++和C的区别
答:从宏观角度和微观角度分析微观角度:函数原型有区别,在c中,函数原型有参数和没有参数是不同的,并且允许申明多个同名的函数,只要他们的参数列表不同或者返回值不同即可,但是在c语言中不能。C引…...
【React教程】一、React简介
一、React简介 React是一个用于构建用户界面的JavaScript库,它是Facebook的内部项目,用来架设Instagram的网站,并于2013年5月开源。React主要用于构建Ul,很多人认为React 是 MVC 中的 V(视图)。由于拥有较高的性能&…...
运动蓝牙耳机什么牌子好,比较好的运动蓝牙耳机推荐
现在市面上的运动蓝牙耳机越来越多,在选择耳机的时候应该如何入手呢?最重要的是需要按照自己的需求来选择,但在耳机的配置上不能忽视的是耳机的防水等级,运动耳机对防水等级的要求更高,这样能够更好地防御汗水浸湿耳机…...
[深入理解SSD系列 闪存实战2.1] NAND FLASH特性串烧 | 不了解闪存特性,你能用好闪存产品吗?
前言 为了利用好闪存, 发挥闪存的优势, 以达到更好的性能和使用寿命, 那自然要求了解闪存特性。 闪存作为一种相对较新的存储介质, 有很多特别的特性。 一.闪存的特性 凡是采用Flash Memory的存储设备,可以统称为闪存存储。我们经常谈的固态硬盘(SSD),可以由volatile/…...
DJI ROS dji_sdk 源码分析|整体框架
DJI ROS dji_sdk 源码分析|整体框架launch文件CMakeLists.txtcpp文件main.cppOSDK 是一个用于开发无人机应用程序的开发工具包,基于OSDK 开发的应用程序能够运行在机载计算机上(如Manifold 2),开发者通过调用OSDK 中指定的接口能够…...
HT32合泰单片机开发环境搭建和配置教程
HT32合泰(Holtek)单片机开发环境搭建安装教程 前言 最近在准备合泰杯的比赛,在看合泰官方的PPT和数据手册学习,顺便做个合泰单片机的开发环境搭建教程。 合泰杯比赛发放的开发板是ESK32-30501,用的单片机是HT32F52352。 合泰杯官网地址&a…...
动态内存分配之伙伴算法
伙伴算法 伙伴算法是一种在计算机内存管理中使用的算法,用于分配和释放内存。它是一种基于二叉树的动态内存分配算法,可以高效地分配和合并内存块。伙伴算法是一种按照固定大小分配内存的算法,例如,每个内存块的大小为2的n次幂&a…...
CGAL 根据扫描线方向和角度对法向量进行重定向
目录一、算法原理1、主要函数二、代码实现一、算法原理 最小生成树对法向量定向的结果在具有许多尖锐特征和遮挡的机载点云数据中结果并不理想。scanline_orient_normals()是专门用于具有扫描线特性的点云法向量重定向的替代方法。它充分利用了某些激光雷达扫描器的LAS特性&…...
一个C#开发的开源的快速启动工具
更多开源项目请查看:一个专注推荐.Net开源项目的榜单 平常计算机安装软件比较多、或者工作涉及的文件比较多,很多人都会直接放在桌面,一方面不安全,还不容易查找,这时候我们往往,都会放在其他硬盘内&#x…...
iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...
Zustand 状态管理库:极简而强大的解决方案
Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...
MFC内存泄露
1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...
FastAPI 教程:从入门到实践
FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...
Leetcode 3577. Count the Number of Computer Unlocking Permutations
Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...
10-Oracle 23 ai Vector Search 概述和参数
一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI,使用客户端或是内部自己搭建集成大模型的终端,加速与大型语言模型(LLM)的结合,同时使用检索增强生成(Retrieval Augmented Generation &#…...
用机器学习破解新能源领域的“弃风”难题
音乐发烧友深有体会,玩音乐的本质就是玩电网。火电声音偏暖,水电偏冷,风电偏空旷。至于太阳能发的电,则略显朦胧和单薄。 不知你是否有感觉,近两年家里的音响声音越来越冷,听起来越来越单薄? —…...
Linux离线(zip方式)安装docker
目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1:修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本:CentOS 7 64位 内核版本:3.10.0 相关命令: uname -rcat /etc/os-rele…...
基于TurtleBot3在Gazebo地图实现机器人远程控制
1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...
[免费]微信小程序问卷调查系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】
大家好,我是java1234_小锋老师,看到一个不错的微信小程序问卷调查系统(SpringBoot后端Vue管理端)【论文源码SQL脚本】,分享下哈。 项目视频演示 【免费】微信小程序问卷调查系统(SpringBoot后端Vue管理端) Java毕业设计_哔哩哔哩_bilibili 项…...
