本篇文章给大家谈谈怎么找优质视频源码分享网站,以及自己的视频源代码怎么找对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。
B站的弹幕区一直是人才圣地。今天我就用python来手把手教大家爬取B站排行榜热门视频,Python爬取视频也可以如此简单。
网站分析
在B站中,只要视频中有弹幕,就会有一个cid参数。cid用来表示某个视频对应的弹幕池。每个弹幕都有一个对应的XML文件,我们可以通过解析XML文件获取到B站视频的弹幕。
所以,只要知道了cid参数值,就可以找到视频弹幕数据的位置了。
那我们在观看视频的时候该如何拿到这个XML文件呢?
B站的弹幕是在XML文件里,每个视频都有其对应的cid和aid,我们取到cid中的数字放入http://comment.bilibili.com/cid.xml,即可得到该视频对应的弹幕XML文件。
首先我们打开视频播放地址,F12打开浏览器开发者模式,如下图找到视频对应的cid就可以构造出弹幕链接
http://comment.bilibili.com/451236101.xml
到此可为止,有了弹幕文件,后面将通过爬虫方式解析弹幕,并进行弹幕内容分析。
请求发送
我们使用request模拟浏览器发送请求获取弹幕数据
url=f&39;\n\nheaders={\n\n&39;:&39;,\n&39;:&39;,\n&39;:&39;uYJYRummJm;bp_t_offset_434541726=590903773845625600;bp_video_offset_434541726=590903773845625600;CURRENT_BLACKGAP=0;LIVE_BUVID=AUTO5716377130871212;video_page_version=v_old_home;PVID=1;CURRENT_FNVAL=976;i-wanna-go-back=1;b_ut=6;b_lsid=4F7CFC82_17D78864851;bsource=search_baidu;innersign=1&调用.encoding属性获取requests模块的编码方式\n将网页编码方式赋值给response.encoding\nresp.encoding=resp.apparent_encoding
成功获取到弹幕数据
信息提取
数据已经给成功的获取到,接下来我们要提取出所有的弹幕信息,
我们从获取到网站的响应信息后可以看出,所有的弹幕文字信息其实都是在
****标签之内的
<d
p=&34;>太木呐了二仙桥大爷</d>
所以我们选择使用正则提取。
39;<dp=&34;>(.*?)</d>&39;a&39;utf-8&39;\\n&39;————-弹幕获取完毕!————-&读取数据\nrcv_data=pd.read_csv(&39;,encoding=&39;)\n\n词频设置\nall_words=[wordforwordinresult.split(&39;)iflen(word)>1andwordnotinstop_words]\nwordcount=Counter(all_words).most_common(10)\n\n&39;&39;哈哈哈&39;大爷&39;制作&39;离谱&39;一起&39;猝不及防&39;二仙&39;sir&39;卧槽&39;一定&39;&39;
词云展示
我们使用结巴分词
最后使用stylecloud绘制漂亮的词云图展示
39;./img.jpg&39;fasfa-archway&39;msyh.ttc&39;white&39;词云图绘制成功!&-*-coding:utf-8-*-\nAuthor:不卖萌的邓肯\n39;B站弹幕.csv&39;http://comment.bilibili.com/{\ncid}.xml&39;referer&39;xxxxx&39;User-Agent&39;xxxxx&39;cookie&34;xxxxx&调用.encoding属性获取requests模块的编码方式\n将网页编码方式赋值给response.encoding\nresp.encoding=resp.apparent_encoding\n\nprint(resp.text)\n\nifresp.status_code==200:\n39;<dp=&34;>(.*?)</d>&39;a&39;utf-8&39;\\n&39;————-弹幕获取完毕!————-&39;utf-8&39;&39;img_1.png&39;msyh.ttc&39;picture_1.png&39;__main__&39;451236101&39;正在解析,开始爬取弹幕中。。。。。&data_visual()
今天分享就到此结束啦!有问题,评论区见~~
好了,本文到此结束,如果可以帮助到大家,还望关注本站哦!
