上一篇讲了如何去获取标题和视频链接。这篇就跟大家讲一下如何去下载这些视频。本篇会以标题和 视频链接 为突破口,来寻找 视频的下载链接 藏在哪里。
注意:分上下两篇来写,请先看Python 爬虫之下载视频(二)。
这里要意识到,我们需要将视频的标题和视频链接一一对应起来。这样才能达到理想的效果。
代码如下:
# 遍历地址和标题,让其一一对应起来
i = 0
while i < len(right_url_list):
# 视频链接
all_url = url_list[i]
# 视频标题
dirty_name = title_list[i]
i += 1
这里我采用的是while循环结构,简单通俗易懂,便于后面的进一步处理。
注意:后面的所有代码都是在while循环结构下写的
代码如下:
# 再一次爬取
driver.get(all_url)
# 等待网页打开
time.sleep(8)
# 页面打开会弹出一个登录窗口
close = driver.find_element(by=By.CSS_SELECTOR, value='.dy-account-close')
# 等登录窗口弹出来
time.sleep(5)
# 关闭弹出的登录窗口
close.click()
# 等待网页加载完
time.sleep(5)
这里就不多解释了,上一篇有相似的内容。
代码如下:
# 获取视频的下载地址
dirty_downloaded_url = driver.find_element(by=By.CSS_SELECTOR, value='video source:nth-child(3)').get_attribute(
'src')
# 下载视频
response = requests.get(dirty_downloaded_url, stream=True)
total_downloaded = 0
chunk_size = 1024
with open(f'{dirty_name}.mp4', 'wb') as f:
for chunk in response.iter_content(chunk_size=chunk_size):
f.write(chunk)
print(f'下载完了!!{dirty_name}.mp4')
此处有两个知识点需要大家去学习一下(学完再看上面那几行代码轻轻松松):
一是 driver.find_element(by 相关的知识点。
二是 下载和保存视频的方式的相关的知识点。
此程序是在Python 3.11.6 版本的环境下编写的,注意哦要不然程序可能运行不起来。
运行完上面的程序,就会得到下面的东西。