爬虫 - bilibili排行榜视频

一、目标

爬取 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()

猜你喜欢

转载自www.cnblogs.com/webster1/p/12594915.html