from datetime import datetime
import requests
import re
import time
import schedule
import json
def get_info():
headers = {
'Host': 'api.bilibili.com',
'Referer': 'https://www.bilibili.com/video/av77413543',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'
}
source_url='https://api.bilibili.com/x/web-interface/view?bvid='+bv
info_rsp1 = requests.get(url=source_url, headers=headers)
info_json1 = info_rsp1.json()
#print('av号:', info_json1['data']['aid'])
aid=info_json1['data']['aid']###此处为int型;
av=str(aid)##类型转换,便于拼接;
info = 'https://api.bilibili.com/x/web-interface/archive/stat?aid=' + av
info_rsp = requests.get(url=info, headers=headers)
info_json = info_rsp.json()
file_write(info_json)
def file_write(info_json):
with open(bv + '_info'+datetime.now().strftime("%m-%d-%H")+'.txt', 'w', encoding='utf-8') as fp:
print("注意:此文件为视频Bv号为 ", bv,"的数据!")
fp.write('注意:此文件为视频Bv号为 '+ bv+'的数据!')
if info_json['code'] == 0:
print("数据采集时间: ", datetime.now().strftime("%Y-%m-%d %H:%M"))
fp.write('播放量: {}\n'.format(info_json['data']['view']))
fp.write('弹幕量: {}\n'.format(info_json['data']['danmaku']))
fp.write('收藏数: {}\n'.format(info_json['data']['favorite']))
fp.write('硬币数: {}\n'.format(info_json['data']['coin']))
fp.write('分享数: {}\n'.format(info_json['data']['share']))
fp.write('点赞数: {}\n'.format(info_json['data']['like']))
fp.write('---------------------------------------------')
print('播放量:', info_json['data']['view'])
print('弹幕量:', info_json['data']['danmaku'])
print('点赞数:', info_json['data']['like'])
print('收藏数:', info_json['data']['favorite'])
print('硬币数:', info_json['data']['coin'])
print('转发数:', info_json['data']['share'])
fp.write('\n')
def job():
print("现在时间: ",datetime.now().strftime("%Y-%m-%d %H:%M"))
get_info()
print("---------------------------------------------------------------")
bv=input('请输入视频bv号:\n')
#BV1tU4y157dV
#schedule.every().hour.do(job) # 每隔 1 小时运行一次 job 函数
schedule.every(10).seconds.do(job) # 每隔 10 分钟运行一次 job 函数
while True:
schedule.run_pending() # 运行所有可以运行的任务
time.sleep(1)
版权声明:本文为qq_36745372原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。