Python爬虫保存视频

仅可用于本地测试!

1.导入库

urllib库是HTTP的请求库,本次实践仅需要用到:

request模块:最基本的HTTP请求模块,可以用来模拟发送请求。

想要学习urllib其他模块可以通过官方文档了解更多

# encoding=utf-8
import requests
from urllib.request import urlopen
from urllib.request import Request

2.向服务器发送请求

headers是为了模拟浏览器,若不更改User-Agent,则会显示通过python访问
url 改为视频的url即可(F12找到视频url)

url = f'https://请改为视频下载的url/{i}.mp4'
    # 定义headers信息
    headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) '
                             'Chrome/92.0.4515.131 Safari/537.36 SLBrowser/8.0.0.12022 SLBChan/103'}
    # 创建Request对象
    req = Request(url, headers=headers)
    # 发送请求
    response = urlopen(req)

3.下载视频

HTTP响应码200时为成功访问
视频保存的位置为脚本所在的位置(想要更改自行设置)

# HTTP响应码
    recode = response.getcode()
    if recode == 200:
        print(f'连接正常,正在下载第{i}个视频,请稍后...')
        response = requests.get(url, stream=True)
        print(f"视频大小:"+str(len(response.content)/1024/1024)+"MB")
        cont = 0
        print(f'下载完成,正在保存第{i}个视频,请稍后...')
        with open(f'spider{i}.mp4', 'wb') as video:
            for chunk in response.iter_content(chunk_size=1024 * 1024):
                video.write(chunk)
                cont += 1
        print(f"第{i}个视频保存成功!\n")

代码汇总

for i in range(1,3): #左开右闭
是循环的次数,按视频个数确定

# encoding=utf-8

# # # # # # #
#  author:  #
#  tomoon16 #
# # # # # # #

import requests
from urllib.request import urlopen
from urllib.request import Request

print("START")

for i in range(1,3): #左开右闭
    url = f'https://请改为视频下载的url/{i}.mp4'
    # 定义headers信息
    headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) '
                             'Chrome/92.0.4515.131 Safari/537.36 SLBrowser/8.0.0.12022 SLBChan/103'}
    # 创建Request对象
    req = Request(url, headers=headers)
    # 发送请求
    response = urlopen(req)
    # HTTP响应码
    recode = response.getcode()
    if recode == 200:
        print(f'连接正常,正在下载第{i}个视频,请稍后...')
        response = requests.get(url, stream=True)
        print(f"视频大小:"+str(len(response.content)/1024/1024)+"MB")
        cont = 0
        print(f'下载完成,正在保存第{i}个视频,请稍后...')
        with open(f'spider{i}.mp4', 'wb') as video:
            for chunk in response.iter_content(chunk_size=1024 * 1024):
                video.write(chunk)
                cont += 1
        print(f"第{i}个视频保存成功!\n")

print("OVER")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值