ajax抓取bilibili弹幕,B站( Bilibili)研究会之爬虫数据API获取

思路:

49c05d9b6aaab6c0636bfa4d434f85f1.png

网页分析

获取到网页数据

https://api.bilibili.com/x/web-interface/view?aid=80859659

使用JSON格式化在线工具这样分析查看比较清晰

GET https://api.bilibili.com/x/web-interface/view?bvid=#视频bvid

GET https://api.bilibili.com/x/web-interface/view?aid=#视频avid

正常返回

{"code":0,"message":"0","ttl":1,"data":{"bvid":"#bvid","aid":#avid,"videos":#包含视频数量,"tid":#分区id,"tname":"#分区","copyright":1,"pic":"#头图","title":"#视频标题","pubdate":#发布时间,"ctime":#创建时间,"desc":"#视频简介","state":0,"attribute":#UnKnow,"duration":#UnKnow,"mission_id":#UnKnow,"rights":{"bp":0,"elec":0,"download":1,"movie":0,"pay":0,"hd5":1,"no_reprint":1,"autoplay":1,"ugc_pay":0,"is_cooperation":0,"ugc_pay_preview":0,"no_background":0},"owner":{"mid":#作者id,"name":"#作者名字","face":"#作者头像"},"stat":{"aid":avid,"view":#观看量,"danmaku":#弹幕,"reply":#评论,"favorite":#收藏,"coin":#投币,"share":#分享,"now_rank":0,"his_rank":0,"like":#点赞,"dislike":#差评,"evaluation":""},"dynamic":"分类?","cid":#UnKnow,"dimension":{"width":1920,"height":1080,"rotate":0},"no_cache":false,"pages":[{"cid":#UnKnow,"page":1,"from":"vupload","part":"fans","duration":#UnKnow,"vid":"","weblink":"","dimension":{"width":1920,"height":1080,"rotate":0}}],"subtitle":{"allow_submit":false,"list":[]}}}

获取视频简介

GET https://api.bilibili.com/x/web-interface/archive/desc?callback=#回调参数&aid=#视频avid&page=&jsonp=jsonp

正常返回

#回调函数({"code":0,"message":"0","ttl":1,"data":"#内容"})

获取视频tags

GET https://api.bilibili.com/x/tag/archive/tags?callback=#回调参数&aid=#视频avid&jsonp=jsonp

正常返回

#回调函数({"code":0,"message":"0","ttl":1,"data":[{"tag_id":716671,"tag_name":"饭圈","cover":"","head_cover":"","content":"","short_content":"","type":0,"state":0,"ctime":1436866637,"count":{"view":0,"use":7196,"atten":942},"is_atten":0,"likes":122,"hates":18,"attribute":1,"liked":1,"hated":0}]})

视频点赞接口

POST https://api.bilibili.com/x/web-interface/archive/like

aid: #视频avid

like: #1为点赞,2为取消

正常返回

{"code":0,"message":"0","ttl":1}

获取你有没有给这个视频点赞

GET https://api.bilibili.com/x/web-interface/archive/has/like?jsonp=jsonp&aid=#视频avid&callback=#回调函数

视频tag点赞接口

POST https://api.bilibili.com/x/tag/archive/like2

tag_id: #tag的id

aid: #视频avid

jsonp: jsonp

正常返回

{"code":0,"message":"0","ttl":1}

超出限制

{"code":16012,"message":"顶/踩太多次啦,休息休息~","ttl":1}

评论点赞

POST https://api.bilibili.com/x/v2/reply/action

oid: #视频avid

type: 1

rpid: #评论的id

action: #1点赞,0取消点赞

jsonp: jsonp

正常返回

{"code":0,"message":"0","ttl":1}

评论点踩

POST https://api.bilibili.com/x/v2/reply/hate

oid: #视频avid

type: 1

rpid: #评论的id

action: #1点赞,0取消点赞

jsonp: jsonp

正常返回

{"code":0,"message":"0","ttl":1}

获取账号所有视频avid

空间接口可以正常get使用

https://space.bilibili.com/ajax/member/getSubmitVideos?mid=97678687&pagesize=30&tid=0&page=1&keyword=&order=pubdate

这个接口很好抓,并且不需要任何验证

可以从中轻易拿到视频数和页数

获取粉丝:

https://api.bilibili.com/x/relation/stat?vmid=80859659&jsonp=jsonp&callback=__jp2

请注意,所有的接口请求时候务必带上cookie,referer和csrf_token

返回结果对应

aid,#av号

title,#标题

tname,#视频类型

time.strftime(“%Y-%m-%d %H:%M:%S”,time.localtime(ctime)),#上传时间,网页获取时间为Unix时间戳,转换成一般时间显示模式

ownername,#作者

danmaku,#弹幕数

reply,#评论数

favorite,#收藏数

coin,#投币数

like#点赞数

备注:

嵌入Bilibili HTML5视频播放:

http://player.bilibili.com/player.html?aid=40606155&cid=71315067&page=1

key

说明

aid

视频ID

就是B站的 avxxxx 后面的数字

cid

应该是客户端id, clientId 的缩写(推测的, 不一定准确)

经过测试, 这个字段不填也没关系

page

第几个视频, 起始下标为 1 (默认值也是为1)

就是B站视频, 选集里的, 第几个视频

as_wide

是否宽屏

1: 宽屏, 0: 小屏

high_quality

是否高清

1: 高清, 0: 最低视频质量(默认)

如视频有 360p 720p 1080p 三种, 默认或者 high_quality=0 是最低 360p

high_quality=1 是最高1080p

danmaku

是否开启弹幕

1: 开启(默认), 0: 关闭

获取UP所有视频的API接口

http://space.bilibili.com/ajax/member/getSubmitVideos

获取UP某频道内所有视频的API接口

http://api.bilibili.com/x/space/channel/video

获取UP某一期视频信息的API接口

http://api.bilibili.com/x/web-interface/view

获取UP某一期视频中某P视频信息的API接口

http://api.bilibili.com/x/player/playurl

获取UP个人公开信息的API接口

http://api.bilibili.com/x/space/acc/info

参考资料

https://blog.csdn.net/chaoping315/article/details/80106141

https://segmentfault.com/a/1190000017511459?utm_source=tag-newest

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值