投稿    登录
欢迎来访~

听说B站弹幕鬼畜多?我不信

技术杂谈 Payne 1397浏览 0评论

扫码或搜索:进击的Coder

发送

即可立即永久解锁本站全部文章

欢迎Star的源码

新入手,小白的我,在我眼里Request爬虫永远只有四大步,不服来辩?

  1. 确定URL,构造请求头
  2. 发送请求,获取响应
  3. 解析响应,获取数据
  4. 保存数据

目标:根据视频BV,获取B站视频弹幕

代码地址如下:

抓包确定URL:

导入:

视频都有一个唯一区分视频:BV号

那么视频的URL规则为:’https://wwww.bilibili.com/video/BV{BVID}’

找一下弹幕的地址,直接search,即可!如下

 

由以上抓包可知,弹幕的URL:’https://api.bilibili.com/x/v1/dm/list.so?oid=oid‘,

我们获取到oid那么这一步就完成了

来,回头去找一下oid从何而来呢?

据老夫多年经验指引,他一定在视频URL里面。(其实当时也找了挺久的,甚至逆向那一手,断点调试、调用堆栈等等什么都用出来了。最终还是功夫不负有心人,找到了)

其实回头看,oid是等于video_URL页面里面的cid参数的(验证了Payne式猜想)。过程是难受的

URL,其参数规则也找到了,那么还不就随我为所欲为了。只要拿到视频地址,那不就可以直接拿到弹幕了么。of course!

此处省略3万字(请求,解析,网络原理。。。)

其实当时知道两个方法都去试了,JS那个就不说了,有兴趣的盆友,可以去搞一下

说说这个提取cid参数吧,我用的是正则,这种情况最好是用正则,不过也看个人喜好吧。

可以回头看第二张图,初一乍看我好像不会,啊哈哈~

 

经过优化后(主要是看了其他视频的那啥之后):写出这个神奇的正则

 

谢谢你认真看到了末尾,那我也写点私活吧。欢迎查阅源码与star

 

转载请注明:静觅 » 听说B站弹幕鬼畜多?我不信

更多文章、联系博主、技术交流、商务合作

扫码或搜索:进击的Coder

进击的Coder

微信公众号 扫一扫关注

喜欢 (14)or分享 (0)

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请狠狠点击下面的

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址