【python35小工具】b站弹幕保存
程序员文章站
2022-06-23 09:30:13
后面有时间学习弹框,加个弹框 效果图: 原理: 原理简单不繁琐 1 根据设置的参数去post请求json参数 2 json提取出用户名和时间以及弹幕内容 (其中值得注意的时,页面默认会保存10个弹幕,我的方法是迭代的时候,取最后一个,然后if简单判断不重复打印) 代码: 有需要的拿去,但是请注明出处 ......
后面有时间学习弹框,加个弹框
效果图:
原理:
原理简单不繁琐
1 根据设置的参数去post请求json参数
2 json提取出用户名和时间以及弹幕内容
(其中值得注意的时,页面默认会保存10个弹幕,我的方法是迭代的时候,取最后一个,然后if简单判断不重复打印)
代码:
# -*- coding: utf-8 -*-
import requests,time
def post_info_data():
from_data = {'roomid':11163111}
return from_data
def post_data_url(data):
url='https://api.live.bilibili.com/ajax/msg'
respone = requests.post(url,data=data)
data=respone.json()['data']['room']
#来自作者https://www.cnblogs.com/-admin-login-aspx/
itemcont_text = []
itemcont_nickname = []
itemcont_timeline = []
for items in data:
itemcont_timeline.append(items['timeline'])
itemcont_nickname.append(items['nickname'])
itemcont_text.append(items['text'])
s1 = ('\n'+itemcont_timeline[-1]+'\t'+'#用户名:'+itemcont_nickname[-1]+'\n'+'\n#弹幕:'+itemcont_text[-1]+'\n'+'*'*127)
#s1 type str
return s1
#start
post_data = post_info_data()
cont2 = ''
while true:
cont = post_data_url(post_data)
#获取值
if cont == cont2:
pass
else:
#两次值比较,不等则打印,并且赋值给cont1
#来自作者https://www.cnblogs.com/-admin-login-aspx/
print (cont)
with open('c://test.txt', 'a',encoding="utf-8") as f:
#'a'则是追加,'w'覆盖
f.write(cont)
cont2 = cont
有需要的拿去,但是请注明出处