4分钟学会Python爬虫,轻松爬取哔哩哔哩视频!

Python爬虫是一种强大而灵活的工具,可以帮助你在互联网上获取各种有趣的信息。如果你是一个热爱哔哩哔哩(B站)的粉丝,那么你肯定想把喜欢的视频保存到本地观看,随时随地享受其中的精彩内容。

今天,我将向你介绍如何使用Python爬虫轻松实现这个目标。只需简单的代码,你就能快速下载哔哩哔哩上的视频,并在离线状态下观看它们。

发送HTTP请求

requests是一个很实用的Python HTTP客户端库,爬虫和测试服务器响应数据时经常会用到,它是python语言的第三方的库,专门用于发送HTTP请求,使用起来比urllib更简洁也更强大。如:请求www.baidu.com

import requests

url='https://www.baidu.com'

res=requests.post(url)
print(res.text)

图片

image.png

请求头定义

Python中可以使用requests库来发送HTTP请求。在发送请求时,我们需要设置合适的请求头信息,这样服务器才能正确地处理我们的请求并返回相应结果。不自定义的话默认头部信息可能会被浏览器察觉你是在用脚本下载我的网站上的东西。

提取我们需要的东西

我们可以使用正则表达式去提取 如字符串Lusang, the cherry blossoms in our hometown have bloomed again,我们要提取其中的cherry blossoms则可以使用正则表达式进行提取。很多种用法哈:这里直接提取the 和 in our之间的字符即可

import re
strs="Lusang, the cherry blossoms in our hometown have bloomed again"
s=re.findall('the (.*?) in our',strs)
print("".join(s))

图片

image.png

保存视频

获取到视频链接和音频链接 我们就要进行保存下载

received_video = 0
with open('%s_video.mp4' % video_name, 'ab') as output:
    while int(video_content.headers['content-length']) > received_video:
        headers['Range'] = 'bytes=' + str(received_video) + '-'
        response = requests.get(video_url, headers=headers)
        output.write(response.content)
        received_video += len(response.content)

使用open()函数打开一个文件,文件名根据video_name动态生成。通过循环判断已接收到的视频数据大小是否小于总数据大小,如果小于则继续下载。用断点续传,避免重复下载已有部分。

效果如下

图片

图片

图片

完整源码获取

公众号:「吉吉说安全」,对我发消息【20240307】免费获取

倾心制作,【点赞】【在看】【转发】鼓励作者继续为你带来更好东西。

免责声明

由于传播、利用本公众号所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,本公众号及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吉吉说安全

感谢打赏,交个朋友!有困难找我

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值