序言
讀書不是唯一出路蚯姆,但學習一定是。
有些人忙碌的活著洒敏,有些人努力的拼搏龄恋,有些人隨意揮霍青春,人生百態(tài)凶伙,各有不同郭毕。
實戰(zhàn)
快手的官網(wǎng)中有很多不同種類的欄目,如果想抓取該網(wǎng)站的視頻數(shù)據(jù)函荣,就需要先確定要抓取的視頻種類显押。
image.png
比如直播數(shù)據(jù),當然直播的數(shù)據(jù)肯定是抓取不了的傻挂,因為還沒有生成mp4文件乘碑。
image.png
image.png
進入主播的直播間,我們可以看到主播發(fā)布的作品金拒,這些作品都是可以批量抓取的兽肤。
image.png
image.png
分析網(wǎng)頁的時候套腹,可以通過搜索關鍵詞mp4文件。找到之后就可以請求并下載數(shù)據(jù)了资铡;大家可以自行摸索一下电禀。我前面的文章都有講如何分析◇孕荩《鍵盤上按F12就可以進入到抓包工具界面》尖飞。
image.png
第一步:請求網(wǎng)頁數(shù)據(jù);這里我采用進度條形式的下載方式
from tqdm import tqdm
import time
for tony in tqdm(range(100)):
time.sleep(0.5)
image.png
第二步:獲取網(wǎng)頁視頻長度
import requests
url = 'https://txmov2.a.kwimgs.com/bs2/newWatermark/Nzc1MTI4NjU4ODE_zh_4.mp4'
# 發(fā)起網(wǎng)絡請求 Content-Length: 5817208 長度
res = requests.get(url)
size = int(res.headers['Content-Length'])
print(size)
image.png
第三步:對視頻長度進行處理及保存
file_name = 'tony老師下載的王者榮耀視頻.mp4'
# bytes 字節(jié)
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)
image.png
結果展示
image.png