用PHP抓了B站弹幕

1.B站的所有接口经测试没有频次和IP访问限制,可以随意去请求

2.B站的弹幕接口:http://comment.bilibili.com/+cid.xml

3.要想拿到弹幕先要找到cid,然后get方式请求这个接口返回的是XML数据

4.cid依然是通过接口拿到

(1) 如果你是搜索某个关键字,打开chrome控制台可以找到加载数据的api,在api数据里你可以拿到aid

(2) 在通过:https://api.bilibili.com/x/web-interface/view?aid=这个接口去拿到cid,将2的接口地址拼接上即可请求出弹幕数据。

5.部分代码

$keyWord = array('刘三好');

for($c=0;$c<count($keyWord);$c++)
{

  $baseurl = "https://api.bilibili.com/x/web-interface/search/type?search_type=video&keyword='.$keyWord[$c].'&page=";

  for($i=1;$i<=4;$i++)
  {
    $url = $baseurl.$i;

    $json = requests::get($url);

    $jsondecode = json_decode($json,TRUE);

  for($s=0;$s<count($jsondecode['data']['result']);$s++)
  {
    $tagsurl = "https://api.bilibili.com/x/web-interface/view?aid=";

    $commentUrl  = 'http://comment.bilibili.com/';

    $str = '';

    $data = array();

    $tagsurl=$tagsurl.$jsondecode['data']['result'][$s]['aid'];

    $tagjson = requests::get($tagsurl);

    $jsontag = json_decode($tagjson,TRUE);//拿到cid

    $resUrl    = $commentUrl.$jsontag['data']['cid'].'.xml';//拿到xml数据

    $commentXml = requests::get($resUrl);

    $comment = simplexml_load_string($commentXml);//解析XML

    $xmljson = json_encode($comment);

    $xmlres = json_decode($xmljson,TRUE);

6.效果图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值