当前位置:   article > 正文

4分钟学会Python爬虫,轻松爬取哔哩哔哩视频!_python b站视频下载

python b站视频下载

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

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

发送HTTP请求

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

  1. import requests
  2. url='https://www.baidu.com'
  3. res=requests.post(url)
  4. print(res.text)

图片

image.png

请求头定义

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

提取我们需要的东西

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

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

图片

image.png

保存视频

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

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

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

效果如下

图片

图片

图片

完整源码获取

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

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

免责声明

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/656967
推荐阅读
相关标签
  

闽ICP备14008679号