Python爬虫下载听风的蚕电子战全集视频

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
```



### 需求
本人是老蚕的粉丝,特别喜欢他的电子《电子战》,奈何最近他的《电子战》系列全部下架了,为了能够收藏这部视频,所以想借助各种工具及python爬虫代码,将该系列视频全部下载下来。
主要技术路线,如下:(如果你知识想拿视频,请看最后,视频会免费分享出来)
1. 哔哩哔哩上有网友转载的《电子战》系列,获取每一集对应的链接。
2. 第一步的链接,无法直接下载,将其放到小程序上转换成可以下载的链接。
3. 将35集的下载链接、文件名,放到python爬虫中,逐个下载成mp4文件。
4. 将mp4文件通过python程序转成mp3文件。

下面开始逐步详细介绍做法!

#### step1 : 获取b站分享地址
《电子战》b站地址:[听风的蚕说评书——电子战01【一切从南海撞机开始】\_哔哩哔哩\_bilibili](https://www.bilibili.com/video/BV1cdQ9YdE5M/?spm_id_from=333.1387.homepage.video_card.click&vd_source=7fcee9c8f7f97cef2c1f6f2f8c891159)
逐个每一集点击分享,就可以获得每一集的链接。
![image.png|400](https://hello-jimmy.oss-cn-beijing.aliyuncs.com/20250414171731.png)

```text
【听风的蚕说评书——电子战01【一切从南海撞机开始】】 https://www.bilibili.com/video/BV1cdQ9YdE5M/?share_source=copy_web&vd_source=43b0b245485ae3aab815b812bcca34ff
【听风的蚕说评书——电子战02【哑巴吃黄连】】 https://www.bilibili.com/video/BV1ixQ9YjEb1/?share_source=copy_web&vd_source=43b0b245485ae3aab815b812bcca34ff
【听风的蚕说评书——电子战03【铭记先驱】】 https://www.bilibili.com/video/BV1LtQdYXE2T/?share_source=copy_web&vd_source=43b0b245485ae3aab815b812bcca34ff
【听风的蚕说评书——电子战04【日本雷达屏幕飘雪花】】 https://www.bilibili.com/video/BV1j4QdYWERg/?share_source=copy_web&vd_source=43b0b245485ae3aab815b812bcca34ff
【听风的蚕说评书——电子战05【兔子千里眼】】 https://www.bilibili.com/video/BV1KSQdYBEGW/?share_source=copy_web&vd_source=43b0b245485ae3aab815b812bcca34ff
【听风的蚕说评书——电子战06【美帝不敢应战】】 https://www.bilibili.com/video/BV1tPQdYuEyP/?share_source=copy_web&vd_source=43b0b245485ae3aab815b812bcca34ff
【听风的蚕说评书——电子战07【鹰酱C4系统如何】】 https://www.bilibili.com/video/BV1d2QRYDEUe/?share_source=copy_web&vd_source=43b0b245485ae3aab815b812bcca34ff
【听风的蚕说评书——电子战08【南昌舰单刀赴会】】 https://www.bilibili.com/video/BV1BkQRYWEnN/?share_source=copy_web&vd_source=43b0b245485ae3aab815b812bcca34ff
【听风的蚕说评书——电子战09【南海潜艇撞击】】 https://www.bilibili.com/video/BV1adQRYyEJ6/?share_source=copy_web&vd_source=43b0b245485ae3aab815b812bcca34ff
【听风的蚕说评书——电子战10【巴铁邻居互掐】】 https://www.bilibili.com/video/BV18fQRYkEvc/?share_source=copy_web&vd_source=43b0b245485ae3aab815b812bcca34ff
【听风的蚕说评书——电子战11【美国人懂面子吗?】】 https://www.bilibili.com/video/BV1UnQRYBEbw/?share_source=copy_web&vd_source=43b0b245485ae3aab815b812bcca34ff
【听风的蚕说评书——电子战11【美国人懂面子吗?】】 https://www.bilibili.com/video/BV1UnQRYBEbw/?share_source=copy_web&vd_source=43b0b245485ae3aab815b812bcca34ff
【听风的蚕说评书——电子战13【大毛打二毛】】 https://www.bilibili.com/video/BV1UbQfYUEMj/?share_source=copy_web&vd_source=43b0b245485ae3aab815b812bcca34ff
【听风的蚕说评书——电子战14【打起来了?】】 https://www.bilibili.com/video/BV1mhQfY7Eso/?share_source=copy_web&vd_source=43b0b245485ae3aab815b812bcca34ff
【听风的蚕说评书——电子战15【斗争纪实】】 https://www.bilibili.com/video/BV1rYXPYHE4v/?share_source=copy_web&vd_source=43b0b245485ae3aab815b812bcca34ff
【听风的蚕说评书——电子战16【接着唱接着舞】】 https://www.bilibili.com/video/BV1neXPYDEQf/?share_source=copy_web&vd_source=43b0b245485ae3aab815b812bcca34ff
【听风的蚕说评书——电子战17【战斗指数】】 https://www.bilibili.com/video/BV1p8XPYWEqu/?share_source=copy_web&vd_source=43b0b245485ae3aab815b812bcca34ff
【听风的蚕说评书——电子战18【高手过招点到为止】】 https://www.bilibili.com/video/BV1zdXAY2EB7/?share_source=copy_web&vd_source=43b0b245485ae3aab815b812bcca34ff
【听风的蚕说评书——电子战19【心潮澎湃】】 https://www.bilibili.com/video/BV1BfXAYyEMi/?share_source=copy_web&vd_source=43b0b245485ae3aab815b812bcca34ff
【听风的蚕说评书——电子战20【美帝核心本质】】 https://www.bilibili.com/video/BV1agXPYTE6w/?share_source=copy_web&vd_source=43b0b245485ae3aab815b812bcca34ff
【听风的蚕说评书——电子战21【地球往事】】 https://www.bilibili.com/video/BV1xtXKYYEk8/?share_source=copy_web&vd_source=43b0b245485ae3aab815b812bcca34ff
【听风的蚕说评书——电子战22【水门事件】】 https://www.bilibili.com/video/BV1FfXNYWEvJ/?share_source=copy_web&vd_source=43b0b245485ae3aab815b812bcca34ff
【听风的蚕说评书——电子战23【教员重塑秩序】】 https://www.bilibili.com/video/BV16oXNY9EDA/?share_source=copy_web&vd_source=43b0b245485ae3aab815b812bcca34ff
【听风的蚕说评书——电子战24【石油美元越战】】 https://www.bilibili.com/video/BV1kXXNY4EZV/?share_source=copy_web&vd_source=43b0b245485ae3aab815b812bcca34ff
【听风的蚕说评书——电子战25【阿富汗连环计】】 https://www.bilibili.com/video/BV1rdXNYsE8Y/?share_source=copy_web&vd_source=43b0b245485ae3aab815b812bcca34ff
【听风的蚕说评书——电子战25【阿富汗连环计】】 https://www.bilibili.com/video/BV1rdXNYsE8Y/?share_source=copy_web&vd_source=43b0b245485ae3aab815b812bcca34ff
【听风的蚕说评书——电子战27【中美对抗历史】】 https://www.bilibili.com/video/BV1tYXHYLENZ/?share_source=copy_web&vd_source=43b0b245485ae3aab815b812bcca34ff
【听风的蚕说评书——电子战28 【大战序幕】】 https://www.bilibili.com/video/BV1utXHYUEmS/?share_source=copy_web&vd_source=43b0b245485ae3aab815b812bcca34ff
【听风的蚕说评书——电子战29【英雄无畏】】 https://www.bilibili.com/video/BV1c2XHYiELX/?share_source=copy_web&vd_source=43b0b245485ae3aab815b812bcca34ff
【听风的蚕说评书——电子战30【残骸里的线索】】 https://www.bilibili.com/video/BV1P6XHYrE95/?share_source=copy_web&vd_source=43b0b245485ae3aab815b812bcca34ff
【听风的蚕说评书——电子战31【2022年的连环计】】 https://www.bilibili.com/video/BV11HXsYJE1d/?share_source=copy_web&vd_source=43b0b245485ae3aab815b812bcca34ff
【听风的蚕说评书——电子战32【安倍晋三之死】】 https://www.bilibili.com/video/BV1neZvYSEFy/?share_source=copy_web&vd_source=43b0b245485ae3aab815b812bcca34ff
【听风的蚕说评书——电子战32A【伊朗和巴铁】】 https://www.bilibili.com/video/BV1vrZHYqETK/?share_source=copy_web&vd_source=43b0b245485ae3aab815b812bcca34ff
【听风的蚕说评书——电子战32A【伊朗和巴铁】】 https://www.bilibili.com/video/BV1vrZHYqETK/?share_source=copy_web&vd_source=43b0b245485ae3aab815b812bcca34ff
【听风的蚕说评书——电子战34【致命任务之区域拒止】】 https://www.bilibili.com/video/BV1LJdkYxEme/?share_source=copy_web&vd_source=43b0b245485ae3aab815b812bcca34ff

step2: 获取下载地址

第一步的链接,是无法直接下载的(貌似下载也是很短的一部分)
需要透过微信小程序去解析出下载链接:
image.png|375

按照1、2、3去点击,就可以获得下载链接了。
image.png|500

step3:python爬虫批量下载

python代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import requests

def download_video(url, file_name):
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"
}
try:
# 发送 GET 请求到 URL
response = requests.get(url, headers=headers, stream=True)
response.raise_for_status() # 检查请求是否成功

# 打开文件写入内容
with open(file_name, 'wb') as file:
for chunk in response.iter_content(chunk_size=8192):
file.write(chunk)
print(f"视频下载成功并保存为 {file_name}")
except requests.exceptions.RequestException as e:
print(f"发生错误: {e}")
  • with open(file_name, 'wb') as file:使用 with 语句以二进制写入模式('wb')打开一个文件,这样可以确保文件在使用完毕后会被自动关闭。
  • response.iter_content(chunk_size = 8192):这是一个迭代器,它会将响应内容按每块 8192 字节(即 8KB)的大小进行分割,逐块返回。
  • file.write(chunk):将每一块内容写入到打开的文件中。

step4:mp4批量转mp3

python代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33

from moviepy import VideoFileClip

def extract_audio_from_mp4(mp4_file_path, mp3_file_path):
try:
video = VideoFileClip(mp4_file_path)
audio = video.audio
audio.write_audiofile(mp3_file_path)
audio.close()
video.close()
print(f"音频已成功提取并保存为 {mp3_file_path}")
except Exception as e:
print(f"提取音频时出现错误: {e}")

if __name__ == "__main__":

mp4_file = r'''
C:\Users\ \Desktop\爬虫-电子战视频下载\mp4_全集\33_伊朗和巴铁.mp4
C:\Users\ \Desktop\爬虫-电子战视频下载\mp4_全集\34_伊朗和巴铁.mp4
C:\Users\ \Desktop\爬虫-电子战视频下载\mp4_全集\35_致命任务之区域拒止.mp4
'''

my_list = mp4_file.split('\n')
new_list = [item for item in my_list if item.strip()]
totalCnt = len(new_list)
idx = 0
for item in mp4_file.split('\n'):
if len(item.strip()) != 0:
idx += 1
mp4_file = item
mp3_file = mp4_file.split('.mp4')[0]+".mp3"
extract_audio_from_mp4(mp4_file, mp3_file)
print(f'[%02d / %02d]'%(idx,totalCnt))

moviepy 部分的核心代码是:

1
2
3
video = VideoFileClip(mp4_file_path)
audio = video.audio
audio.write_audiofile(mp3_file_path)

总结

至此,已经把《电子战》系列视频全部下载成mp4、mp3文件了:
有需要的,请直接微信公众号回复:电子战,免费领取!纯纯免费!
对了,如果大家对AI、新技术、软件评测感兴趣,可以关注我的微信公众号:image-20220328170047757|left或者个人博客:https://weicun.gitee.io/ 蓝色单车
如果你也喜欢编程、免费文件共享,请加群!
image.png|350