登录 注册

2020.12.18最新的B站动态抓取

B站昨天还是前天左右突然更换了feeds的API,所以重新写了一个抓取

function bili($mycookie,$hist){
	$ch=curl_init();
	$header=Array();
	$header[]='Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, text/html, * /* ';
	$header[]='Accept-Language: zh-cn ';
	$header[]='User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727) ';
	$header[]='Host: api.vc.bilibili.com';
	$header[]='Connection: Keep-Alive ';
	$header[]='Cookie: '.$mycookie;
	curl_setopt($ch,CURLOPT_HTTPHEADER,$header);
	if ($hist==""){
		curl_setopt($ch,CURLOPT_URL,"https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_new?uid=你的ID&type_list=8,512,4097,4098,4099,4100,4101");
	}else{
		curl_setopt($ch,CURLOPT_URL,"https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_history?uid=你的ID&type_list=8,512,4097,4098,4099,4100,4101&offset_dynamic_id=".$hist);
	}
	curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
	$output=curl_exec($ch);
	// curl_close($ch);
	return $output;
/*	if (!strpos($output,'{"code":-101}')){
		echo $mycookie."
---------
";
		return true;
	}else{
		return false;
	}*/
}
/*function dg($start,$now,$str){
	global $cookies,$dump,$max,$found;
	if ($now<$dump){
		for ($i=$start+1;$i<$max;$i++){
			dg($i,$now+1,$str.$cookies[$i].";");
		}
	}else{
//		echo $str."<br />";
		if (bili($str)){
			$found=true;
		}
	}
}
$found=false;
$dump=0;
$dumps=Array(0);
$max=count($cookies);
while (!$found && $dump<$max){
	dg(-1,0,"");
	$dump++;
}*/
echo "bili_arr=[";
$i=0;
$hist="";
for ($page=1;$page<5;$page++){
	$output=bili($config['bilibilicookie'],$hist);
	// echo $output;
	// $output=substr($output,strpos($output,"(")+1,-1);
	// echo $output;
	//echo substr($output,strpos($output,"(")+1,-2);
	//echo substr($output,strpos($output,"(")+1,-2);
	$arr=json_decode($output,true);
	// print_r($arr['data']['cards']);
	$table_change=array('\\'=>'\\\\','\''=>'\\\'');
	foreach($arr['data']['cards'] as $thing){
		// print_r($card);
		if ($thing['desc']['type']==8){
			$card=json_decode($thing['card'],true);
			echo ($i>0?",":"")."['".strtr($thing['desc']['bvid'],$table_change)."','".strtr($card['title'],$table_change)."','".strtr($card['owner']['name'],$table_change)."','".strtr($card['pic'],$table_change)."']";
			$i=1;
			$hist=$thing['desc']['dynamic_id_str'];
		}else{
			$card=json_decode($thing['card'],true);
			// print_r($card);
			// print_r($thing);
			echo ($i>0?",":"")."['".strtr($card['episode_id'],$table_change)."','".strtr($card['new_desc'],$table_change)."','".strtr($card['apiSeasonInfo']['title'],$table_change)."','".strtr($card['cover'],$table_change)."']";
			$i=1;
			$hist=$thing['desc']['dynamic_id_str'];
		}
	}
}
echo "];bili_go();";

2020
12 18
上一篇
Older
下一篇
Newer
评论
0
点击
1016
发布
我是标题
我是文字
我是标题
我是文字
用户名
密码
用户名
密码
重复密码
努力的加载中.....