零基础利用Python库you-get下载b站等视频网站的视频(会员视频需有账号并且设置cookie)


写在开头: 之所以写这个教程是因为之前想要下载b站视频(PC端)(因为怕视频被删)一般都是用某b站的下载软件,但是后来b站的av号换成bv号了,好像解析的时候就出现了点问题,而且那个软件又迟迟没有更新,我又懒得找新的软件了,于是想起了you-get。虽然可能有其他更为简便的方法吧= =,但是这个可以下大会员的视频(手机端说没有版权的也可以,目前为止是这样),而且我在想要做的时候发现网上好像没有类似的教程,于是就干脆写一个算了。均为信手涂鸦,欢迎批评指正。


利用python下载视频

零基础

  • 安装python
  • 配置环境变量
  • 下载you-get库
  • (需要下载会员视频)找到cookie
  • 配置参数

安装python

以下主要面向零基础,没安装过python的小白
python官网:https://www.python.org/
pyton下载地址:https://www.python.org/downloads/
在这里插入图片描述
在这里插入图片描述
目前来讲下载python3比较好,官方的话python2已经不给更新了。我本地python3.7和3.8都有,作为展示我下载最新的看一下:
在这里插入图片描述
两种安装方式:直接安装和自定义安装
直接安装会安装在c盘某个目录下,所有的内容和快捷方式都给你弄好了
自定义安装可以自己选,我个人比较倾向这种
下面的add python3.8 to path最好勾选,这样之后可以在命令行运行,如果没有勾选之后也可以配置
在这里插入图片描述
选择自定义安装后,会弹出上面的界面,其中的pip需要之后下载我们的you-get库用。我安装的时候都勾选上了
在这里插入图片描述
之后是安装路径和其他的选项,配制好之后就可以安装了。
安装完成后,如果已经勾选了add python to path的话可以打开命令行运行一下试试看了。
win+R键
在这里插入图片描述
输入cmd并点击确定
输入python:如果出现一下内容即为安装成功:
在这里插入图片描述
我个人用的版本是python3.7

配置环境变量

如果没有出现上面的内容或者说没有在安装的时候勾选add to path的话,我们可以手动配置环境变量(当然如果想用IDE去写python的话其实环境变量的配置就无所谓了)
在这里插入图片描述
右键我的电脑,属性->高级系统设置->环境变量
在这里插入图片描述
在系统变量里面找到Path,双击进去点击新建,找到你刚刚安装python的位置写进去,比如我的D:\python\写进去确定,可以再写一条D:\python\Scripts\或者写成D:\python;D:\python\Scripts\,中间加一个分号,这样的话在命令行输入Python或者python都可以运行了。在这里插入图片描述

下载you-get库

配置好环境变量之后,在命令行直接输入pip install you-get
就可以下载you-get库了,这个库是我们下载视频需要的库,如果不安装的话之后的代码无法运行
安装好之后其实可以直接用命令行参数运行
-o 选择下载后保存的路径
-c 后面是cookie的保存路径
最后写url

(需要下载会员视频)找到cookie

you-get的官方说支持两种cookie,一种是mozilla cookies 还有一种 cookies.txt 后者虽然有格式,奈何b站的cookie给的太乱了找不到对应的参数,于是只能用第一种,需要下载火狐浏览器,并且登录b站账号(或者相应的视频网站的账号),之后浏览器会弹出保存密码的选项,选择保存,浏览器就会自动生成cookie在你的电脑里面。在浏览器安装路径下搜索mozilla文件夹(因为自己找路径比较麻烦…)
在Mozilla\Firefox\Profiles\fzbhalcu.default-release这个诡异的路径下,我们可以找到一个名叫cookies.sqlite的文件。可以将这个文件复制到将要写代码的文件夹底下,这样就可以用相对路径做,或者记下绝对路径,写到下面的代码里面。
火狐浏览器可以查看cookie
在这里插入图片描述

在这里插入图片描述
可以点击管理数据查看是否有b站的cookie存在

配置参数

如果不习惯命令行运行命令的可以打开IDLE,也就是python下载后自带的shell
在这里插入图片描述
在这里插入图片描述
选择file,新建文件
写入代码

directory= r'D:\Download'                         #设置下载目录
url = 'https://www.bilibili.com/bangumi/play/ss32982'      #需要下载的视频地址
cookies = 'cookies.sqlite'							#cookie所在地址
print('you-get','--playlist','-c', cookies , '-o' , directory, url)       
you_get.main()

以上的变量,directory,url 和cookie需要改成自己电脑的路径。
“–playlist”这个参数在下载多p视频的时候需要加上,这样所有的视频都会一起下载
之后保存。
打开cmd,利用cd命令进入到你保存的文件夹目录下,命令python xxxx.py
xxxx就是你的文件名,然后等待下载就ok了~

最后
其实本来想写一个方便一点的命令行或者图形界面之类的,但是有点懒了,等哪天有空写了的话我会再分享一下

Python中,我们可以使用requests来进行网络请求,包括GET方法。如果你想要爬取一个需要账户登录的网站并获取包含个人数据的页面,首先你需要有该网站的合法登录凭证,通常这包括用户名、密码以及可能的cookies(session)信息。 下面是一个基本示例,假设我们有一个简单的登录API和cookies信息: ```python import requests # 登录网站获取cookies def login(username, password): login_url = "https://your-website.com/login" # 替换为实际登录URL headers = { 'User-Agent': 'Mozilla/5.0', # 携带常规的用户代理头部信息 'Content-Type': 'application/x-www-form-urlencoded', } data = {'username': username, 'password': password} # 用户名和密码 response = requests.post(login_url, headers=headers, data=data) if response.status_code == 200: # 成功登录 cookies = response.cookies # 获取cookies return cookies else: print("Login failed.") return None # 使用cookies爬取个人数据页面 def fetch_data(cookies): personal_data_url = "https://your-personal-data-page.com" # 替换为个人数据页面URL headers = { **{'Cookie': '; '.join(f"{k}={v}" for k, v in cookies.items())}, # 将cookies合并到headers } response = requests.get(personal_data_url, headers=headers) if response.status_code == 200: with open('personal_data.html', 'w') as f: # 保存为html文件 f.write(response.text) print("Data saved successfully.") else: print("Failed to retrieve data.") # 示例登录和爬取过程 cookies = login("your_username", "your_password") if cookies: fetch_data(cookies) else: print("Please ensure you have valid credentials.") ``` 注意,这个例子仅作演示,实际操作中应遵守网站的Robots协议,并尊重用户的隐私权。同时,很多网站会采用反爬虫技术,直接硬编码登录凭证可能会导致封IP等风险。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值