• 【python35小工具】b站弹幕保存


    后面有时间学习弹框,加个弹框

    效果图:

    原理:

    原理简单不繁琐

    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 = ('
    '+itemcont_timeline[-1]+'	'+'#用户名:'+itemcont_nickname[-1]+'
    '+'
    #弹幕:'+itemcont_text[-1]+'
    '+'*'*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
    

      

     有需要的拿去,但是请注明出处

  • 相关阅读:
    nyoj_216_A problem is easy_201312051117
    nyoj_676_小明的求助_201312042142-2
    C# 堆和栈的区别?
    DataReader和DataSet区别
    SQLSERVER2008R2正确使用索引
    SQL Profiler工具简介
    (转)非常完善的Log4net详细说明
    SQL语句优化技术分析
    HashTable、HashSet和Dictionary的区别
    使用Nuget发布自己的类库包
  • 原文地址:https://www.cnblogs.com/-admin-login-aspx/p/10334884.html
Copyright © 2020-2023  润新知