zoukankan      html  css  js  c++  java
  • 爬虫

    一、目标

    爬取 https://vc.bilibili.com/p/eden/rank#/?tab=全部  小视频排行榜视频

    二、准备

    安装第三方库 requests、fake_useragent 

    创建bili文件夹

    三、解释

    排行榜视频直接把所有排行榜视频存储在服务器,直接把视频排行的服务器视频地址暴露在preview中 直接在试图中找到此链接的json串 遍历出来即可

    1 用户 - > url    2 用户 - > server 也属于数据挖掘的一种方式

    四、代码
    import requests
    # 可自动生成浏览器UserAgent请求头
    from fake_useragent import UserAgent

    headers = {
      # 浏览器类型 (有的网址服务器检测浏览器 反扒其中的一种) 可随机生成浏览器类型
      'User-Agent': UserAgent().random
    }

    # 获取服务器视频url地址
    def top_video():
      url = 'https://api.vc.bilibili.com/board/v1/ranking/top?page_size=10&next_offset=&tag=%E4%BB%8A%E6%97%A5%E7%83%AD%E9%97%A8&platform=pc'
      response = requests.get(url).json()
      data = response['data']['items']
      for i in data:
            ite = i['item']
            video_url = ite['video_playurl']
            dowloads_video(video_url)


    count = 1
    # 下载本地
    def dowloads_video(video_url):
      global count
      response = requests.get(video_url, stream=True, headers = headers)
      # 每次下载视频数据大小
      chunk_size = 1024
      with open('bili/{}.mp4'.format(count), 'ab') as f:
        for data in response.iter_content(chunk_size=chunk_size):
          f.write(data)
        count += 1

    top_video()

    群交流(262200309)
  • 相关阅读:
    程序开发
    主方法
    日志
    node.js
    二维互换
    前台打断点
    具体的后台断点快捷键
    Jenkins
    断点
    循环
  • 原文地址:https://www.cnblogs.com/webster1/p/12594915.html
Copyright © 2011-2022 走看看