使用 Python 获取 B 站视频的播放量

简介: 使用 Python 获取 B 站视频的播放量

首先我们通过一个主题词进行视频搜索, 然后把找到的视频链接保存下来,里面有个视频的 id ,通过这个 id , 调用 B 站 api 接口可以获取视频的信息, 里面有视频的播放量信息。 尽量查的视频数量少一点哦, 给 B 站造成服务压力可不好。

# -*- coding: utf-8 -*-
import requests
import json
import urllib.request
import zlib
import os
import re
from bs4 import BeautifulSoup
from urllib.parse import quote
import time
#<iframe src="//player.bilibili.com/player.html?aid=66494272&page=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"> </iframe>
headers = {
    "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1"
}
def require_video(video_id):
    URL_VIDinfo = "http://api.bilibili.com/archive_stat/stat?aid=" 
    PARAMS = {"aid":video_id }
    VID_info = requests.get(url = URL_VIDinfo,params = PARAMS).json()
    print(VID_info)
    if(VID_info["message"] == "0"):
        hot_video = VID_info["data"]["view"]
        if hot_video != "--":
            return hot_video
        else:
            return -1
    else:
        return -1
def get_aid(Keyword):
    print('searching, please wait......')
    f = open("hot_video.txt", "a")
    for page_num in range(1,2):
        time.sleep(1)
        search_url="https://search.bilibili.com/all?keyword=" + Keyword + "&page=" + str(page_num)
        search_url=quote(search_url,safe='/:?=&', encoding="utf-8")
        print(search_url)
        req = urllib.request.Request(url=search_url)
        req.add_header("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36 QIHU 360SE")
        data=urllib.request.urlopen(req)
        search_html = data.read().decode("utf-8",'ignore')
        search_bsObj = BeautifulSoup(search_html,'html.parser')
        search_linkList = search_bsObj.findAll("a",{"class":"title"})
        count=len(search_linkList)
        print('found %s in this page' %count)
        for item in search_linkList:
            time.sleep(1)
            print('%s:%s' % (i,search_linkList[i]['title']))
            search_link=search_linkList[i]['href']
            search_link="http:"+search_link
            search_link=quote(search_link,safe='/:?=&', encoding="utf-8")
            print(search_link)
            index1 = search_link.find('av')
            index2 = search_link.find('?')
            if index1 and index2 and index1 > 4:
                avid = search_link[index1 + 2: index2]
                print(avid)
                video_played_times = require_video(avid)
                if int(video_played_times) >= 100000:
                    f.write(avid + "\n")
    f.close()
def main():
    keyword = '舞蹈'
    get_aid(keyword)
if __name__ == '__main__':
    main()




目录
相关文章
|
1月前
|
计算机视觉 Python
Python实用记录(一):如何将不同类型视频按关键帧提取并保存图片,实现图片裁剪功能
这篇文章介绍了如何使用Python和OpenCV库从不同格式的视频文件中按关键帧提取图片,并展示了图片裁剪的方法。
65 0
|
1月前
|
机器学习/深度学习 编解码 Python
python将照片集变成视频
`shigen`是一位坚持更新文章的博客作者,记录成长历程,分享认知见解,留住生活感动。他利用Python库`Pillow`和`MoviePy`开发了一个工具,能够批量处理照片并生成高质量视频。该工具支持多种分辨率、自定义播放时间和照片方向,并能自动调整照片比例以实现居中对齐。通过简单的代码实现了照片视频化的需求,适合强迫症患者使用。**与shigen一起,每天不一样!**个人IP:shigen。
42 9
python将照片集变成视频
|
27天前
|
数据安全/隐私保护 流计算 开发者
python知识点100篇系列(18)-解析m3u8文件的下载视频
【10月更文挑战第6天】m3u8是苹果公司推出的一种视频播放标准,采用UTF-8编码,主要用于记录视频的网络地址。HLS(Http Live Streaming)是苹果公司提出的一种基于HTTP的流媒体传输协议,通过m3u8索引文件按序访问ts文件,实现音视频播放。本文介绍了如何通过浏览器找到m3u8文件,解析m3u8文件获取ts文件地址,下载ts文件并解密(如有必要),最后使用ffmpeg合并ts文件为mp4文件。
|
2月前
|
编解码 Python
Python如何给视频添加音频和字幕
Python如何给视频添加音频和字幕
|
2月前
|
编解码 Python Windows
python有没有包 可以检测 这个视频是否可以播放
python有没有包 可以检测 这个视频是否可以播放
|
2月前
|
Python
python朗读播放中文和英文
python朗读播放中文和英文
|
2月前
|
前端开发 JavaScript 关系型数据库
基于Python+Vue开发的反诈视频宣传管理系统
基于Python+Vue开发的反诈视频宣传管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Python编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Python的反诈宣传管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
33 4
|
3月前
|
存储 数据可视化 Python
使用python moviepy提取视频中的音频,同时对音频数据进行数据可视化分析
使用python moviepy提取视频中的音频,同时对音频数据进行数据可视化分析
127 0
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
【深度学习】python之人工智能应用篇——视频生成技术
视频生成技术是一种基于深度学习和机器学习的先进技术,它使得计算机能够根据给定的文本、图像、视频等单模态或多模态数据,自动生成符合描述的、高保真的视频内容。这种技术主要依赖于深度学习模型,如生成对抗网络(GAN)、自回归模型(Auto-regressive Model)、扩散模型(Diffusion Model)等。其中,GAN由两个神经网络组成:一个生成器用于生成逼真的图像或视频,另一个判别器用于判断生成的图像或视频是否真实。通过不断的对抗学习,生成器和判别器共同优化,以产生更高质量的视频。
93 2
|
3月前
|
数据可视化 Python
通过python建立一个web服务查看服务器上的文本、图片、视频等文件
通过python建立一个web服务查看服务器上的文本、图片、视频等文件
67 0