精华内容
下载资源
问答
  • Lolita视频弹幕网项目总结 1.调用阿里云发送短信接口 2.使用Dplayer 3.使用GoEasey实现信息的推广 4.获取请求的外网IP并获取地理位置 5.上传视频并截图
    展开全文
  • Miko动漫视频网站整站源码 二次元动漫网源码 视频弹幕网 自带播放器及数据.rar。
  • 而与优酷、爱奇艺等传统视频网站不同的是,以 ACG(ACG 为英文Animation、Comic、Game 的缩写,是动画、漫画、游戏的总称) 文化为主要内容的弹幕视频网站没有网络视频前的贴片广告。那么,弹幕视频网站如何...
    2015 年 5 月 9 日发布的《传媒蓝皮书 :中国传媒产业发展报告 (2015)》指出,“2014 年网络广告收入首次超过电视广告”,其中贴片广告是网络广告收入的重要组成部分。而与优酷、爱奇艺等传统视频网站不同的是,以 ACG(ACG 为英文Animation、Comic、Game 的缩写,是动画、漫画、游戏的总称) 文化为主要内容的弹幕视频网站没有网络视频前的贴片广告。那么,弹幕视频网站如何实现盈利呢?
     
    弹幕是在互联网环境下诞生的一种实时交互性评论模式,它能以滚动、停留甚至更多动作特效方式直接显现在视频上,是观看视频的人即时发送的简短评论。随着弹幕模式的逐渐走红,近年来土豆、爱奇艺等传统视频网站也陆续推出弹幕功能,但本文讨论的弹幕视频网站仅指以分享动漫、游戏等 ACG 文化内容为主的部分网站,并选取哔哩哔哩弹幕网(俗称 B 站)这一典型案例来探讨该类型网站的盈利模式。
     
     
    弹幕视频网站的盈利模式
     
    1. 图片广告。 弹幕视频网站虽没有贴片广告,但在其首页的板块与板块之间、内容播放页上方存在一定的图片广告。这一类图片广告的设计风格和颜色与网页风格类似,视觉上非常融洽。广告内容多为动漫和游戏类,是针对网站目标受众的精准投放。弹幕视频网站的用户多为喜欢 ACG 文化的二次元爱好者,因而网站在选择广告主时会偏向于与其目标受众定位重合度较高的动漫游戏类,一方面为了使广告的宣传达到广告主的预期效果,另一方面也为了避免受众因对广告的反感而放弃浏览网站,以求达到“二次售卖”的最大效益。
     
    2. 独家新番。 新番源自日语词汇“新番组”,意思是新节目。当前国内普遍认为,新番一般就是指代日本最近(或即将) 出的动画的意思。
    受众的注意力资源是媒介竞争中的重要一环,为了争夺用户的注意力,拥有独家视频资源成为视频网站的竞争法宝之一。2015 年 7 月,B 站购买的正版番剧多达 23 部,其中 9 部独家。为填补购买版权的资金缺口,B 站发起了“独家新番承包计划”,号召有经济能力的用户承包自己喜爱的新番,以此来代替贴片广告的收入。这其实是一种变相的收费服务探索,从结果来看似乎用户对此并不反感。例如动漫《Fate/Stay Night》上线仅一周,视频播放数就达到 259 万,承包人数为 14834 人。
     
    3. 游戏联运。 弹幕视频网站深知自身是众多重度二次元粉的聚集地,并充分挖掘这一平台优势,通过与游戏厂商进行游戏联运的方式将自身的用户“二次售卖”为游戏厂商的消费者,从中获取利润。和图片广告的内容一样,这类游戏大多贴着“动漫”“二次元”等标签,以精美画风和日本声优为主打,实现对消费者的精准投放。以 B 站为例,在 B 站的网页版和 APP 上均有游戏中心这一板块,含有多款游戏的进入页面。其中《崩坏学园 2》是第一款在安卓平台上区分了“B 服”和“国服”的游戏,即通过 B 站下载该游戏的用户可以直接使用原有 B 站账号进行登录和使用,而通过该游戏官网下载的用户则必须另外申请账号。该游戏厂商米哈游CEO 蔡浩宇透露,《崩坏学园 2》超过50% 的安卓收入来自 B 站,B 站核心用户占到安卓核心用户的 60% ~ 70%。另外,B 站和游戏产品的合作极具针对性,网站会评估联运游戏的风格,如果被认为 “不符合我们的风格”,那么 B 站会拒绝同该游戏产品的合作。
     
    4. 线下活动和周边商品。 即利用线下的活动把网络上虚拟的消费者聚集在一起,加深彼此间的联系,形成线上线下的立体产业链,增强受众黏性。B 站首页上开设了一个名为“日本游”的板块,用户可以通过网站选择去往日本的旅游线路,这些旅游线路几乎均含有 ACG 文化元素,如“关东游”项目主打的就是 ACG 旅游,旅行活动包括看漫展、购买动漫周边产品。周边商品方面,B 站在淘宝开设了官方淘宝店,出售官方毛绒公仔、手机壳、衣服等周边产品,商品的成交量达到上百件。就目前而言,淘宝店内的周边商品种类较少,是值得加大投入力度的领域。
     
     
    弹幕视频网站的发展 :做深做精,加强平台建设
     
    弹幕视频网站的发展离不开 ACG 文化,作为一种亚文化的产物,其受众数量相对少于主流大众文化,但并不意味着弹幕视频网站就会受制于受众数量局限而无法像传统网站一样实现最终盈利。特劳特(中国) 战略定位咨询公司总经理邓德隆认为 :“规模不等于竞争力,顾客心中的强势地位才是真正的竞争力。”由此可见,做大做强并不是企业健康发展的唯一选择,做深做精亦是可行之道。
     
    笔者认为,一方面,弹幕视频网站应当在现有用户的基础 上利用大数据技术充分了解用户属性和用户行为模式,从而实现对用户的精确定位 ;另一方面,弹幕视频网站应该深刻认识到自身在用户心中的地位是一个聚集大批 ACG 文化爱好者的社区平台,不断完善平台建设,强化卖点。
     
    和传统视频网站相比,弹幕视频网站最大的优势在于受众对 ACG 文化的热爱,他们对动漫和游戏的周边产品具有很强的好感度,因此周边市场和线下产业就成为可以大力发掘的突破口。首先,网站可以通过大数据对用户习惯进行分析,从而得出用户的兴趣点,并根据所得结果购买动漫视频版权。其次,在获得一些动漫的版后,网站可以利用这些独家新番的承包计划培养用户的付费习惯,为最终实现所有用户的付费观看奠定基础。再次,弹幕视频网站可以开辟线上商城板块,在网上售卖有关这些动漫内容的周边商品。亦可开设热门动漫的线下主题见面会,凝聚粉丝力量,形成粉丝经济并从中获取利润。而这些利润的获得又有助于网站购买更多的独家番剧,实现良性商业循环。
     
    B 站新开设的“日本游”项目打开了线下产业的新大门,它能够利用日本旅游的机会聚集起一批经济状况较好的用户,提高用户对网站的忠诚度。在以后的发展过程中,网站可以与较大的旅行社合作,开设多条含有 ACG 文化元素的旅行线路,一方面为旅行社提供大量客户,另一方面也能增强自身的受众黏性。平台建设的另一项着力点是继续发展游戏联运,将自身作为一个游戏的下载交流市场,用户可以在网站上直接下载感兴趣的游戏,用网站账号登录,省时省力。
     
    总之,弹幕视频网站应当在 ACG 文化平台这一定位下,不断根据现实调整发展策略,深入挖掘受众的兴趣点,开辟出多元化的盈利途径,强化自身在受众心中的地位。
     
     
    结 语
    目前弹幕视频网站所采取的一切盈利策略都应建立在对本土消费者消费习惯的充分认识之上,实现对用户的精准传播。“他山之石,可以攻玉”,吸收和借鉴外国可实行的成功模式很重要,弹幕视频网站可以参考日本 NICONICO 动画网大力发展周边市场和线下活动,完善平台建设,不断强化自身卖点,从而在激烈的市场竞争中走出一条清晰的盈利道路。
     
     
    转载自:CNKI

    转载于:https://www.cnblogs.com/coincidence/p/5936555.html

    展开全文
  • 网络爬虫名称:bilibili弹幕网视频日排行榜数据分析网络爬虫爬取的内容:bilibili弹幕网视频日排行榜设计方案概述:实现思路:爬取网站html源代码,通过页面分析得到想要的数据位置,提取数据,之后数据可视化等操作...

    网络爬虫名称:bilibili弹幕网视频日排行榜数据分析

    网络爬虫爬取的内容:bilibili弹幕网视频日排行榜

    设计方案概述:

    实现思路:爬取网站html源代码,通过页面分析得到想要的数据位置,提取数据,之后数据可视化等操作

    技术难点: html源码过于杂乱,难以提取数据

    首先进行页面分析

    53860483732a8fe57ddb881189c898e0.png

    通过页面分析,我们得知我们需要的关键数据在"li"分支

    将"li"分支展开,进一步分析

    1b0e5076bd58cb26499735199bdc9098.png

    4eb2e3145c0fc7ac11ae6f5f064cf69c.png

    2cee830a8f346e51c8f368a89d5c8128.png

    52be75ed71cbf5dfbcb947ef1c517f58.png

    9b3b92bfb73b528dbd7a10911b155b44.png

    通过对"li"分支的分析,我们基本确定了播放量,弹幕数,综合得分等关键信息所在的位置

    接下来开始爬取

    importrequests as rqfrom bs4 importBeautifulSoupimportpandas as pdimportmatplotlib.pyplot as plt

    url= "https://www.bilibili.com/ranking/all/0/0/1"header= {"User-Agent":"Mozilla/5.0"}

    res= rq.get(url,headers=header,timeout=15)

    res.raise_for_status()

    res.encoding=res.apparent_encoding

    soup= BeautifulSoup(res.text)

    使用requests库爬取,并通过BeautifulSoup库存放到变量Soup中,这里展示一下爬取到的html,可以看到是非常杂乱的

    fa6751afb3ba708e1e1774d73856d62f.png

    然后开始对数据进行提取,首先是获取视频标题,同样的,我输出一下提取到的标题

    #获取视频标题

    title =[]for dtitle in soup.find_all('img'):

    title.append(dtitle.get('alt'))

    df28835d4b590bfb2a73f08b35f77af6.png

    接下来同理,提取一些关键信息,因数据略大,就不输出展示了

    #获取视频的播放量,弹幕数和UP主

    cl_soup=soup.find_all(attrs={'class':'data-box'})

    play_view_author=[]for cl_soup incl_soup:

    play_view_author.append(cl_soup.text)

    play= play_view_author[0:300:3] #播放量

    view = play_view_author[1:300:3] #弹幕数

    author = play_view_author[2:300:3] #UP主#获取视频的BV号

    dBV = soup.find_all(attrs={'class':'title'})

    link=[]for dBV indBV:

    link.append(dBV.get('href'))for i inrange(link.count(None)):

    link.remove(None)

    BV=[]for k inrange(len(link)):

    BV.append(link[k][-12:])#获取视频的综合得分

    soup_pts=soup.find_all(attrs={'class':'pts'})

    pts=[]for soup_pts insoup_pts:

    pts.append(eval(soup_pts.text[:-15]))

    好的,现在关键信息已经获取完成,将其通过pandas库保存为csv表格方便稍后进行数据分析可视化调用

    dt = {'排名':range(1,101),'标题':title,'播放量':play,'弹幕数':view,'综合得分':pts,'UP主':author,'BV号':BV} #创建字典

    data = pd.DataFrame(dt) #以字典形式创建DataFrame

    importdatetime

    date= datetime.datetime.now().strftime('%Y-%m-%d') #获取当前日期方便保存

    data.to_csv('{}.csv'.format(date),index=False,header=True,encoding="utf-8-sig",mode="a") #保存为csv

    此处应该注意,这里的保存时一定要写编码方式,否则很有可能保存的csv出现乱码的现象

    接下来对数据进行清洗并可视化分析

    读入csv文件

    importpandas as pdimportmatplotlib.pyplot as pltfrom scipy.optimize importleastsqimportnumpy as npimportdatetime

    date= datetime.datetime.now().strftime('%Y-%m-%d') #获取当前日期

    filename = '{}.csv'.format(date)

    colnames=["ranking","title","play","view","pts","author","BV"]

    data=pd.read_csv(filename,skiprows=1,names=colnames)

    plt.rcParams['font.sans-serif']=['SimHei'] #正常显示中文

    plt.rcParams['axes.unicode_minus']=False #正常显示负号

    由于从html中获得的播放量和弹幕数是带有"万"单位的,我们先对其进行转化

    play =[]

    pl=list(data.play)for pl inpl:

    play.append(eval(pl[:-1])*10000) #将播放量转化为数字

    view =[]

    vw=list(data.view)for i invw:if i[-1]=="万":

    view.append(eval(i[:-1])*10000)else:

    view.append(eval(i))#将弹幕数转化为数字

    删除无用的列,并将转换好的播放量和弹幕数替换进去

    del data["title"]del data["author"]del data["BV"] #删除无用列

    play_s =pd.Series(play)

    view_s=pd.Series(view)

    data["play"] =play_s

    data["view"] = view_s #将转换好的弹幕数和播放量重新写入DataFrame中

    重复值处理

    data.duplicated() #重复值处理#空值已在HTML处理时删除了,此处不再进行空值检测

    580faaa7ece58e9a70586053436254a7.png

    查看相关性以及统计数据

    data.corr()#此处可以看出播放量与综合得分得相关性最高

    data.describe() #获取统计信息

    fa3626b03cfba4609c7d676072468378.png

    6f552125e6c9f23c108a9d03a26dee77.png

    数据清洗到这里基本结束,接下来进行数据可视化分析

    首先使用直方图对综合得分,播放量和弹幕数进行统计

    综合得分

    plt.figure(dpi=240)

    ranking=data.ranking

    score=data.pts

    plt.bar(ranking,score,color=[0,0,0.8,0.6])

    plt.title("综合得分直方图")

    plt.xlabel("排名")

    plt.ylabel("综合得分")

    plt.show()

    d4949895da8bd136aa4086beec940923.png

    播放量:

    plt.figure(dpi=240)

    plt.bar(ranking,play,color=[1,1,0])

    plt.title("播放量直方图")

    plt.xlabel("排名")

    plt.ylabel("播放量")

    plt.show()

    8acdfc687395e506cb9e15ce7690352b.png

    弹幕数:

    plt.figure(dpi=240)

    plt.bar(ranking,view,color=[1,0,1,0.8])

    plt.title("弹幕数直方图")

    plt.xlabel("排名")

    plt.ylabel("弹幕数")

    plt.show()

    6ce5c7d3af3d0848cb75f508572c2621.png

    68b8dc12639f2d6e412f35064608f58a.png

    排名与播放量,弹幕数,综合得分的散点图和拟合直线

    在此之前,先定义好回归方程函数以及将各列表转换为numpy数组

    defft(p,x):

    a,b,c=preturn a*(x**2)+(b*x)+cdefer_ft(p,x,y):return ft(p,x)-y

    play_np=np.array(play)

    score_np=np.array(score)

    view_np=np.array(view)

    ranking_np=np.array(ranking)

    p0=[2,3,4]

    做好这个就可以开始了,首先是排名与综合得分

    plt.figure(dpi=240)

    plt.scatter(ranking,score,label=u'样本数据',color=[0,0.6,0,0.8])

    P=leastsq(er_ft,p0,args=(ranking_np,score_np))

    a,b,c=P[0]

    x=np.linspace(0,100,1000)

    y=a*(x**2)+(b*x)+c

    plt.plot(x,y,color="red",label=u"拟合直线",linewidth=2)

    plt.title('综合得分散点图&拟合直线')

    plt.xlabel("排名")

    plt.ylabel("综合得分")

    plt.legend()

    plt.grid()

    plt.show()

    a51abf5d3cd2d6f09847df6935f6321e.png

    排名/播放量

    plt.figure(dpi=240)

    plt.scatter(ranking,play,label=u'样本数据',color=[0,0,0.8,0.8])

    P=leastsq(er_ft,p0,args=(ranking_np,play_np))

    a,b,c=P[0]

    x=np.linspace(0,100,1000)

    y=a*(x**2)+(b*x)+c

    plt.plot(x,y,color="red",label=u"拟合直线",linewidth=2)

    plt.title('播放量散点图&拟合直线')

    plt.xlabel("排名")

    plt.ylabel("播放量")

    plt.legend()

    plt.grid()

    plt.show()

    fec98fdb65bd5191edbeebc5e5d4e777.png

    排名/弹幕数:

    plt.figure(dpi=240)

    plt.scatter(ranking,view,label=u'样本数据',color=[0.5,1,1,0.8])

    P=leastsq(er_ft,p0,args=(ranking_np,view_np))

    a,b,c=P[0]

    x=np.linspace(0,100,1000)

    y=a*(x**2)+(b*x)+c

    plt.plot(x,y,color="red",label=u"拟合直线",linewidth=2)

    plt.title('弹幕数散点图&拟合直线')

    plt.xlabel("排名")

    plt.ylabel("弹幕数")

    plt.legend()

    plt.grid()

    plt.show()

    3b05d1d0448d17e3536ec2f9c0a1404e.png

    接下来是综合得分,播放量,弹幕数三者直接的散点图和回归方程

    弹幕数/播放量:

    plt.figure(dpi=240)

    plt.scatter(play,view,label=u'样本数据',color=[0,0,0,0.6])

    plt.title('弹幕数/播放量散点图&拟合直线')

    P=leastsq(er_ft,p0,args=(play_np,view_np))

    a,b,c=P[0]

    x=np.linspace(0,3500000,1000)

    y=a*(x**2)+(b*x)+c

    plt.plot(x,y,color="red",label=u"拟合直线",linewidth=2)

    plt.xlabel("播放量")

    plt.ylabel("弹幕数")

    plt.legend()

    plt.grid()

    plt.show()

    4f78939d190f5f4c108827b05c4f4ae5.png

    综合得分/播放量

    plt.figure(dpi=240)

    plt.scatter(play,score,label=u'样本数据',color=[1,0.5,0,0.6])

    plt.title('综合得分/播放量散点图&拟合直线')

    P=leastsq(er_ft,p0,args=(play_np,score_np))

    a,b,c=P[0]

    x=np.linspace(0,3500000,1000)

    y=a*(x**2)+(b*x)+c

    plt.plot(x,y,color="red",label=u"拟合直线",linewidth=2)

    plt.xlabel("播放量")

    plt.ylabel("综合得分")

    plt.legend()

    plt.grid()

    plt.show()

    273e22c4021809ef86eac20729857b3c.png

    综合得分/弹幕数

    plt.figure(dpi=240)

    plt.scatter(view,score,label=u'样本数据',color=[1,1,0,0.6])

    plt.title('综合得分/弹幕数散点图&拟合直线')

    P=leastsq(er_ft,p0,args=(view_np,score_np))

    a,b,c=P[0]

    x=np.linspace(0,55000,1000)

    y=a*(x**2)+(b*x)+c

    plt.plot(x,y,color="red",label=u"拟合直线",linewidth=2)

    plt.xlabel("弹幕数")

    plt.ylabel("综合得分")

    plt.legend()

    plt.grid()

    plt.show()

    95cd6262cc0b3ef3ec77c74464857bc8.png

    数据可视化基本完成

    数据爬取提取部分代码汇总

    importrequests as rqfrom bs4 importBeautifulSoupimportpandas as pdimportmatplotlib.pyplot as plt

    url= "https://www.bilibili.com/ranking/all/0/0/1"header= {"User-Agent":"Mozilla/5.0"}

    res= rq.get(url,headers=header,timeout=15)

    res.raise_for_status()

    res.encoding=res.apparent_encoding

    soup=BeautifulSoup(res.text)#获取视频标题

    title =[]for dtitle in soup.find_all('img'):

    title.append(dtitle.get('alt'))#获取视频的播放量,弹幕数和UP主

    cl_soup=soup.find_all(attrs={'class':'data-box'})

    play_view_author=[]for cl_soup incl_soup:

    play_view_author.append(cl_soup.text)

    play= play_view_author[0:300:3] #播放量

    view = play_view_author[1:300:3] #弹幕数

    author = play_view_author[2:300:3] #UP主#获取视频的BV号

    dBV = soup.find_all(attrs={'class':'title'})

    link=[]for dBV indBV:

    link.append(dBV.get('href'))for i inrange(link.count(None)):

    link.remove(None)

    BV=[]for k inrange(len(link)):

    BV.append(link[k][-12:])#获取视频的综合得分

    soup_pts=soup.find_all(attrs={'class':'pts'})

    pts=[]for soup_pts insoup_pts:

    pts.append(eval(soup_pts.text[:-15]))

    dt= {'排名':range(1,101),'标题':title,'播放量':play,'弹幕数':view,'综合得分':pts,'UP主':author,'BV号':BV} #创建字典

    data = pd.DataFrame(dt) #以字典形式创建DataFrame

    importdatetime

    date= datetime.datetime.now().strftime('%Y-%m-%d') #获取当前日期方便保存

    data.to_csv('{}.csv'.format(date),index=False,header=True,encoding="utf-8-sig",mode="a") #保存为csv

    数据清洗以及可视化分析部分代码汇总

    importpandas as pdimportmatplotlib.pyplot as pltfrom scipy.optimize importleastsqimportnumpy as npimportdatetime

    date= datetime.datetime.now().strftime('%Y-%m-%d') #获取当前日期

    filename = '{}.csv'.format(date)

    colnames=["ranking","title","play","view","pts","author","BV"]

    data=pd.read_csv(filename,skiprows=1,names=colnames)

    plt.rcParams['font.sans-serif']=['SimHei'] #正常显示中文

    plt.rcParams['axes.unicode_minus']=False #正常显示负号

    play =[]

    pl=list(data.play)for pl inpl:

    play.append(eval(pl[:-1])*10000) #将播放量转化为数字

    view =[]

    vw=list(data.view)for i invw:if i[-1]=="万":

    view.append(eval(i[:-1])*10000)else:

    view.append(eval(i))#将弹幕数转化为数字

    del data["title"]del data["author"]del data["BV"] #删除无用列

    play_s =pd.Series(play)

    view_s=pd.Series(view)

    data["play"] =play_s

    data["view"] = view_s #将转换好的弹幕数和播放量重新写入DataFrame中

    data.duplicated() #重复值处理#空值已在HTML处理时删除了,此处不再进行空值检测

    data.corr()#此处可以看出播放量与综合得分得相关性最高

    data.describe() #获取统计信息

    plt.figure(dpi=240)

    ranking=data.ranking

    score=data.pts

    plt.bar(ranking,score,color=[0,0,0.8,0.6])

    plt.title("综合得分直方图")

    plt.xlabel("排名")

    plt.ylabel("综合得分")

    plt.show()

    plt.figure(dpi=240)

    plt.bar(ranking,play,color=[1,1,0])

    plt.title("播放量直方图")

    plt.xlabel("排名")

    plt.ylabel("播放量")

    plt.show()

    plt.figure(dpi=240)

    plt.bar(ranking,view,color=[1,0,1,0.8])

    plt.title("弹幕数直方图")

    plt.xlabel("排名")

    plt.ylabel("弹幕数")

    plt.show()defft(p,x):

    a,b,c=preturn a*(x**2)+(b*x)+cdefer_ft(p,x,y):return ft(p,x)-y

    play_np=np.array(play)

    score_np=np.array(score)

    view_np=np.array(view)

    ranking_np=np.array(ranking)

    p0=[2,3,4]

    plt.figure(dpi=240)

    plt.scatter(ranking,score,label=u'样本数据',color=[0,0.6,0,0.8])

    P=leastsq(er_ft,p0,args=(ranking_np,score_np))

    a,b,c=P[0]

    x=np.linspace(0,100,1000)

    y=a*(x**2)+(b*x)+c

    plt.plot(x,y,color="red",label=u"拟合直线",linewidth=2)

    plt.title('综合得分散点图&拟合直线')

    plt.xlabel("排名")

    plt.ylabel("综合得分")

    plt.legend()

    plt.grid()

    plt.show()

    plt.figure(dpi=240)

    plt.scatter(ranking,play,label=u'样本数据',color=[0,0,0.8,0.8])

    P=leastsq(er_ft,p0,args=(ranking_np,play_np))

    a,b,c=P[0]

    x=np.linspace(0,100,1000)

    y=a*(x**2)+(b*x)+c

    plt.plot(x,y,color="red",label=u"拟合直线",linewidth=2)

    plt.title('播放量散点图&拟合直线')

    plt.xlabel("排名")

    plt.ylabel("播放量")

    plt.legend()

    plt.grid()

    plt.show()

    plt.figure(dpi=240)

    plt.scatter(ranking,view,label=u'样本数据',color=[0.5,1,1,0.8])

    P=leastsq(er_ft,p0,args=(ranking_np,view_np))

    a,b,c=P[0]

    x=np.linspace(0,100,1000)

    y=a*(x**2)+(b*x)+c

    plt.plot(x,y,color="red",label=u"拟合直线",linewidth=2)

    plt.title('弹幕数散点图&拟合直线')

    plt.xlabel("排名")

    plt.ylabel("弹幕数")

    plt.legend()

    plt.grid()

    plt.show()

    plt.figure(dpi=240)

    plt.scatter(play,view,label=u'样本数据',color=[0,0,0,0.6])

    plt.title('弹幕数/播放量散点图&拟合直线')

    P=leastsq(er_ft,p0,args=(play_np,view_np))

    a,b,c=P[0]

    x=np.linspace(0,3500000,1000)

    y=a*(x**2)+(b*x)+c

    plt.plot(x,y,color="red",label=u"拟合直线",linewidth=2)

    plt.xlabel("播放量")

    plt.ylabel("弹幕数")

    plt.legend()

    plt.grid()

    plt.show()

    plt.figure(dpi=240)

    plt.scatter(play,score,label=u'样本数据',color=[1,0.5,0,0.6])

    plt.title('综合得分/播放量散点图&拟合直线')

    P=leastsq(er_ft,p0,args=(play_np,score_np))

    a,b,c=P[0]

    x=np.linspace(0,3500000,1000)

    y=a*(x**2)+(b*x)+c

    plt.plot(x,y,color="red",label=u"拟合直线",linewidth=2)

    plt.xlabel("播放量")

    plt.ylabel("综合得分")

    plt.legend()

    plt.grid()

    plt.show()

    plt.figure(dpi=240)

    plt.scatter(view,score,label=u'样本数据',color=[1,1,0,0.6])

    plt.title('综合得分/弹幕数散点图&拟合直线')

    P=leastsq(er_ft,p0,args=(view_np,score_np))

    a,b,c=P[0]

    x=np.linspace(0,55000,1000)

    y=a*(x**2)+(b*x)+c

    plt.plot(x,y,color="red",label=u"拟合直线",linewidth=2)

    plt.xlabel("弹幕数")

    plt.ylabel("综合得分")

    plt.legend()

    plt.grid()

    plt.show()

    结论:数据可视化分析可以得知,弹幕数与播放量相关性并不高,但是综合得分是由播放量和弹幕数共同影响的

    程序设计小结:此次程序设计重难点在于对html的数据提取,以前看到一大片密密麻麻的html就感到头疼,而通过此次程序设计,我能更加敢于面对庞大杂乱的数据;而在程序设计过程中出现的各种问题得到解决都给我带来一定的成就感,也让我对Python这门编程语言有了更深层的了解.

    展开全文
  • 弹幕网分析-1

    千次阅读 2020-01-28 21:29:28
    首先呢,打开改网站随便点个直播间,当然要有人发弹幕。观察弹幕和请求,发现并没有很多的请求,那我们看看ws(websocket)点这个清空记录然后我们刷新一下页面然后发现一堆我们一个一个观...

    首先呢,打开改网站随便点个直播间,当然要有人发弹幕。

    观察弹幕和请求,发现并没有很多的请求,那我们看看ws(websocket)

    点这个清空记录然后我们刷新一下页面

    然后发现一堆我们一个一个观察

    我们可以看到,都是这种二进制的,我们堆栈进去看看

    当我们下断点之后,发现他弹幕就没了,放行之后弹幕就滚动出来了

    跟进去这个函数,这个e参数在这个三元表达式里面处理我们继续看

    this.protoLink.isWs()
    

    判断这个,我们看到isWs,那肯定是ws所以我们看第一个

    我们看这个函数 onProto,一般有经验的可以看出来是一种tlv结构,去掉on剩下Proto谷歌开源了一个pb全称Google Protocol Buffer又简称Protobuf,,然后我们就可以一步一步分析下去,只要掌握了堆栈大法,我们就可以为所欲为的分析任意网站。

    Protocol Buffer
      Google Protocol Buffer又简称Protobuf,它是一种很高效的结构化数据存储格式,一般用于结构化数据的串行化,简单说就是我们常说的数据序列化。这种序列化的协议非常轻便高效,而且是跨平台的,目前已支持多种主流语言(3.0版本支持C++, JAVA, C#, OC, GO, PYTHON等)。
      通过这种方式序列化得到的二进制流数据比传统的XML, JSON等方式的结果都占用更小的空间,并且其解析效率也更高,用于通讯协议或数据存储领域是非常好的。
      再者,其使用的方式也非常简单,我们只需要预先定义好消息(message)的数据格式,然后通过其提供的compiler即可生成对应的文件,在那些文件里定义和实现了操作这个数据结构所有字段的setter/getter方法,我们只需要使用这些方法设置该数据结构的字段,然后通过序列化方法即可得到需要的结果(二进制数据流)。

    ,一般弹幕网站都是使用的ws+pb,或者是ws+json

    展开全文
  • 通过Bilibili Helper可以简单方便的修改B站Flash播放器为最新的HTML5网页播放器,同时还可以绕过B站的区域限制看仅限部分地区可看的新番、拥有关注动态通知推送、视频及弹幕下载、反向查询弹幕发送者B站帐户等功能。...
  • 目录 成果展示 源代码 成果展示 源代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>barrage</title> <... bord..
  • 请将以下大字拖放至书签栏,打开吐槽视频播放页。点击书签栏的吐槽插件书签,将替换新的播放方式进行播放。(每个播放页都需要点一次插件) 吐槽插件 (如果之前的没用了,请重新拖动一遍) 操作方法: 此...
  • ,提供弹幕抓取,抓取记录查询,弹幕下载,自定义关键字统计,铁粉统计,高光时刻自动捕获,弹幕实时发送速度可视化,高频弹幕词云等功能(正在开发中,即将发布,打造企业级应用的使用体验!) 斗鱼弹幕抓取及实时...
  • 哔哩哔哩发弹幕怎么换行?bilibili弹幕换行快捷键介绍哔哩哔哩发弹幕怎么换行?bilibili弹幕换行快捷键介绍 哔哩哔哩弹幕怎么换行?很多朋友想知道bilibili弹幕换行方法,为什么别的小伙伴发的弹幕有很多行呢?该如何...
  • 前言跳过废话,直接看正文近些年来,弹幕这种实时视频评论越来越火爆,国内几乎所有的视频网站在播放器中开始加入了弹幕的功能。弹幕已经成了很多人观看视频时不可缺少的一部分,我也是其中之一。只是有时候因为网络...
  • 哔哩哔哩弹幕视频 - ( ゜- ゜)つロ 乾杯~ - bilibili http://www.bilibili.com/  bilibili是中国大陆一个动画、游戏相关的弹幕视频分享网站,也被称为哔哩哔哩、B站,其前身为视频分享网站Mikufans。该网站由...
  • ACFUN目前的播放器的弹幕文件是由JSON为载体存储,为了本地编辑JSON便于查询记下此篇.查看json文件传送门(弹幕池通过什么开发人员工具就可以看到):http://comment.acfun.tv/弹幕池.jsonhttp://comment.acfun.tv/弹幕...
  • 弹幕现在是火了……现在也可以在手机上玩弹幕了,不过这个玩法很有意思,安装该应用后,手机所有社交信息都会变成弹幕呢... 目前仅支持Android。 应用地址:微弹幕Lite ...
  • 首先来分析一下,这个弹幕功能是怎么实现的,首先在最下面肯定是一个游戏界面View,然后游戏界面上有弹幕View,弹幕的View必须要做成完全透明的,这样即使覆盖在游戏界面的上方也不会影响到游戏的正常观看,只有当有...
  • Android弹幕实现:基于B站弹幕开源系统(6)带用户头像且头像从网络加载在附录文章1,2,3,4,5基础上,实现一种特殊弹幕效果,实现弹幕带发表者头像。这种需求在一些开发场景中比较有用,比如在一些视频中,不同...
  • B 站作为一个弹幕式视频网站,在其发展初期,各类玩梗弹幕、翻译弹幕、剧情弹幕吸引了一大波二次元迷入驻 B 站一起看动漫,引发了看动漫必开弹幕的现象。弹幕不仅是内容评论功能的演变,更是一种强开放性、强包容性...
  • Python自动发射弹幕弹幕护体

    千次阅读 2018-05-05 21:39:38
    https://www.cnblogs.com/feiyueNotes/p/8097632.htmlPython自动... 学会使用Python刷弹幕2. 配置INI文件信息3. 掌握网络请求知识4. 解浏览器开发者工具5. 时间模块的使用6.爬虫的基本知识 https://www.bilibili...
  • 原本也有想过可以利用现有的弹幕姬做个插件来解决的,但无奈不会C#,所以只能自己研究b站的弹幕协议。后来有写过一个C++版本的,不过有一些小问题,这在后文中会提到。开码一丶利用 POST 方式获取 B 站直播弹幕参考...
  • 弹幕[dàn mù] (danmaku),中文流行词语,指的是在网络上观看视频时弹出的评论性字幕。源自日本弹幕视频分享网站(niconico动画),国内首先引进为Acfun以及后来的哔哩哔哩网站。大量吐槽评论从屏幕飘过时效果看上去...
  • Android弹幕实现:基于B站弹幕开源系统(2)在附录1的基础上,模拟实现一种实际开发的应用场景:从网络中不间断的周期取弹幕数据,这些弹幕数据往往是批量的,然后把这些从网络中取到的批量数据逐个的显示出来。...
  • 首先来分析一下,这个弹幕功能是怎么实现的,首先在最下面肯定是一个游戏界面View,然后游戏界面上有弹幕View,弹幕的View必须要做成完全透明的,这样即使覆盖在游戏界面的上方也不会影响到游戏的正常观看,只有当有...
  • Android弹幕实现:基于B站弹幕开源系统(4)-重构弹幕在视频播放的APP中比较常见,但是逻辑比较复杂,现在在附录1,2,3的基础上,我再次对弹幕进行抽象和重构,把弹幕从底向上抽象成不同的层,便于复用。第一步,抽象...
  • Android仿网络直播弹幕功能的实现

    千次阅读 2016-11-06 15:48:25
    首先来分析一下,这个弹幕功能是怎么实现的,首先在最下面肯定是一个游戏界面View,然后游戏界面上有弹幕View,弹幕的View必须要做成完全透明的,这样即使覆盖在游戏界面的上方也不会影响到游戏的正常观看,只有当有...
  • 桌面弹幕

    2018-08-01 18:07:01
    **写了个桌面弹幕系统。 界面是这样的:** **- 先点击连接服务器 - 点击“创建”或“加入”来进入一个房间 - 同在一个房间的PC客户端共享弹幕屏幕 - 可微信搜索小程序“桌面弹幕”加入房间来发弹幕 - ...
  • 弹幕[dàn mù] (barrage),中文流行词语,指的是在网络上观看视频时弹出的评论性字幕。下面我们就来看一下使用workerman实现简单弹幕的方法。php代码:
  • Vue全家桶仿移动端AcFun弹幕视频WebApp
  • 如题:如何实现B站直播弹幕呢?分析过程:进入虎牙官网—>随便点个直播房间—>F12抓包,刷新分析每一条请求,点响应,找到弹幕信息。如图image.png可以看出返回信息是json格式的,提交方法是get,再分析一下...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 725
精华内容 290
关键字:

弹幕网