首页 > 编程源码 > Python爬虫 bilibili弹幕爬取

Python爬虫 bilibili弹幕爬取

楼主:宝贝诱伊 [1级] · 2019-11-16 ·  浏览830 · 编程源码 · ID:

工作原理b站是提供弹幕接口的,所以我们的整体操作进行如下:到B站获取cid将cid与网站固定格式进行链接用python请求网页进行简单的单词处理生成词云接下来我们就按照刚才说的顺序进行详细解释操作顺序1.到B站获取cid首先点进一个视频网页,点击F12-network获取监测页面,然后一定要点击播放视频,我们就会在监测页面中看到一个叫heartbeat的XHR脚本,点开任意一个即可。

进入页面点击之后我们需要看Headers,里边包括了我们想知道的信息。往下滚动就会发现cid,这个id是唯一的,也就是说下次抓取的时候还可以用这个id。获取cid2.将cid与网站固定格式进行链接我们拿到cid之后就可以去检查一下是否可以获取弹幕了。获取的固定xml格式是:https://comment.bilibili.com/视频的cid.xml例如在这里我们的页面就是:'https://comment.bilibili.com/94198756.xml'1我们把这个链接用网页的方式打开,就能看到如下内容:弹幕内容这样我们就确定可以爬取了。



3.用python请求网页因为是开源的,我们也不需要设置代理agent什么的,直接获取就行import requestsfrom bs4 import BeautifulSoupurl= 'https://comment.bilibili.com/94198756.xml'request = requests.get(url)#获取页面request.encoding='utf8'#因为是中文,我们需要进行转码,否则出来的都是unicode通过之前的网页查看,我们发现弹幕的XML规律如下:停车场反杀龙卷风1都是d开头,所以我们只需要用beautifulsuop来选取所有的‘d’就可以soup = BeautifulSoup(request.text, 'lxml') results = soup.find_all('d')#找出所有'd'comments = [comment.text for comment in results]#因为出来的时候是bs4格式的,我们需要把他转化成list123这样一个完整的弹幕list就已经有了,这里要注意,b站弹幕提取上线是1000条,所以大于一千的就会随机选取1000调弹幕给你。4.进行简单的单词处理拿到之后的弹幕并不能直接满足我们进行单词分析,我们要进行一些简单的清理(1)有一些英文我们需要统一大小写comments = [x.upper() for x in comments]#统一大小写1(2)去掉弹幕中的空格例:‘仙 人 指 路’ 和 ‘仙人指路’ 是没有区别的comments_clean = [comment.replace(' ','') for comment in comments]#去掉空格1(3)我们简单的看一下弹幕之后发现弹幕里边的’/test’是有很多,但是我们并不需要它,诸如此类:set(comments_clean)#看一下都有啥类似的没用的词语useless_words = ['//TEST', '/TESR', '/TEST', '/TEST/', '/TEXT', '/TEXTSUPREME', '/TSET', '/Y', '\\TEST']

comments_clean = [element for element in comments_clean if element not in useless_words]#
去掉不想要的字符 进行完上述处理之后,我们就可以进行词云的制作了。不过在制作之前,还是让我们简单的看一下词频。(不是最终的,因为一会要把句子里的词分开)import pandas as pdcipin = pd.DataFrame({'danmu':comments_clean})cipin['danmu'].value_counts()(4)分词在这里我们把刚才得到的弹幕用jieba库进行分词danmustr = ''.join(element for element in comments_clean)#把所有的弹幕都合并成一个字符串


- 版权声明 - 1、本帖所有言论和图片等纯属网友个人意见,与流星社区立场无关;
2、其他单位或个人使用、转载或引用本帖时必须同时征得该帖子作者宝贝诱伊流星社区的同意;
3、备注原文地址:https://bbs.liuxingw.com/t/17641.html,可忽略第2条;
4、帖子作者需承担一切因本文发表而直接或间接导致的相关责任;
5、如本帖内容或部分内容转载自其它媒体,这并不代表本站赞同其观点和对其真实性负责;
6、如本帖若为资源类,将仅限用于学习和研究目的,您必须在下载后的24个小时之内,从您安装或使用的设备中彻底删除上述内容;
7、如果您喜欢该程序,请支持正版软件,购买注册,可以得到更好的正版服务;
8、如本帖侵犯到任何版权或违法问题,请立即邮件告知我们,我们将及时予以处理。
2条回复 |  最后回复于2019-11-16

颜Yan [1级]

我弧你你就得忍着
发布于2019-11-16

回复列表

  • 内容加载中...

说点什么...

宝贝诱伊 [1级]

[挠墙]忍忍忍
发布于2019-11-16

回复列表

  • 内容加载中...

说点什么...
登录注册 后才可进行评论
签到
7人签到
已签0天
  • 46639帖子
  • 1936983热点量
  • 185069火热值