实战
快手的官网中有很多不同种类的栏目,如果想抓取该网站的视频数据,就需要先确定要抓取的视频种类。
比如直播数据,当然直播的数据肯定是抓取不了的,因为还没有生成mp4文件。
进入主播的直播间,我们可以看到主播发布的作品,这些作品都是可以批量抓取的。
分析网页的时候,可以通过搜索关键词mp4文件。找到之后就可以请求并下载数据了;大家可以自行摸索一下。我前面的文章都有讲如何分析。《键盘上按F12就可以进入到抓包工具界面》。
第一步:请求网页数据;这里我采用进度条形式的下载方式
from tqdm import tqdm
import time
for tony in tqdm(range(100)):
time.sleep(0.5)
第二步:获取网页视频长度
import requests
url = 'https://txmov2.a.kwimgs.com/bs2/newWatermark/Nzc1MTI4NjU4ODE_zh_4.mp4'
# 发起网络请求 Content-Length: 5817208 长度
res = requests.get(url)
size = int(res.headers['Content-Length'])
print(size)
第三步:对视频长度进行处理及保存
file_name = 'tony老师下载的王者荣耀视频.mp4'
# bytes 字节
with open(file_name,'wb') as file:
# 100%|██████████| 100/100 [01:40<00:00, 1.01s/it] kb
for tony in tqdm(
# 视频文件读取
res.iter_content(size),
total=size,
desc=file_name,
unit='kb'
# tony老师下载的王者荣耀视频.mp4: 27460kb [00:00, 372074.26kb/s]
):
# 15%|█▍ | 14/100 [00:14<01:26, 1.01s/it]
file.write(tony)