• 抓取B站小视频


    抓取B站小视频的代码如下:

    #请求库
    import requests


    #请求头部信息(用户代理)
    headers={
    'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36'
    }

    #定义全局变量
    count=1

    def video_downloads(url_video):
    '''
    请求视频的下载链接 把视频保存到本地
    :param url_video: 视频的下载链接
    :return:
    '''
    global count
    #请求视频的下载链接,因为请求的视频是数据流的方式,所以请求方式中要使用stream
    response_video=requests.get(url_video,headers=headers,stream=True)
    #每次下载的数据大小 1024单位为KB,表示1024KB/s
    chunk_size=1024
    #判断请求的视频下载链接是否成功
    if response_video.status_code==200:
    with open('B站小视频/{}.mp4'.format(count),'ab')as f:
    for data in response_video.iter_content(chunk_size=chunk_size):
    f.write(data)
    count += 1

    def exrta_video_url():
    '''
    获取视频的下载地址,并调用下载函数进行下载
    :return:
    '''

    #请求网页地址并且获取到服务器所返回的数据

    #1、网页的请求地址
    #url的获取,在网页的Network下的XHR中进行查找rquest中的url.如何验证该URL是否为我们需要查找到的url.可以通过查看review返回的数据
    url='https://api.vc.bilibili.com/clip/v1/video/index?page_size=30&need_playurl=0&next_offset=-1&has_more=1&order=&platform=pc'

    response_data=requests.get(url,headers=headers).json()
    data=response_data.get('data').get('items')
    for i in data:
    #视频的下载地址 video_downloads_url
    video_downloads_url=i.get('item').get('video_playurl')
    #调用下载函数进行下载
    video_downloads(video_downloads_url)

    exrta_video_url()

      当然对于用户代理,我们还可以使用随机生成的方式进行生成。代理部分代码如下(其他代码部分不变):

    #请求库
    import requests
    #用户代理库‘
    from fake_useragent import UserAgent
    
    ua=UserAgent()
    
    #请求头部信息(用户代理)
    headers={
    	'User-Agent':ua.random
    }
    

      【保存路径说明】

    ../表示当前路径的上层路径。

    ~表示家路径

    /根路径

    ./当前同路径,可以不用写。                                                       

  • 相关阅读:
    3、Find and run the whalesay image
    1、docker初涉
    Java之ThreadLocal原理分析
    Java之Synchronized和ReentrantLock锁机制的比较
    Java之动态代理的实现及原理
    Java之atomic包的原理及分析
    深入理解Java内存模型-volatile
    Java WeakReference
    JavaScript 事件的冒泡,委派
    JavaScript Date删除添加员工信息练习
  • 原文地址:https://www.cnblogs.com/benpao1314/p/11304210.html
Copyright © 2020-2023  润新知