前几天开了个新坑,想直接翻译这边学校的申请页面,然后做一份自己申请留学的教程。
没想到这坑上来就开大了,好像不是一两天就能搞定的事情。先拖着。
昨天花了两小时爆肝出新的视频今天放了出来,一如既往的做视频数据追踪记录。但还是感觉以前随便写的,只以达到效果为目的代码有些别扭。所以,稍微做了一些优化。直接上代码吧。
<?php
$contents = file_get_contents('http://api.bilibili.com/archive_stat/stat?aid=75032519');//视频状态API
$data= json_decode($contents,true);
$servername = "XXXXXX";//数据库信息
$username = "XXXXXX";
$password = "XXXXXX";
$dbname = "XXXXXX";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);//出现数据库连接错误直接弹出
}
$aid = $data['data']['aid'];
$view = $data['data']['view'];
$danmaku = $data['data']['danmaku'];
$reply = $data['data']['reply'];
$favorite = $data['data']['favorite'];
$coin = $data['data']['coin'];
$share = $data['data']['share'];
$like = $data['data']['like'];
$code = $data['code'];
$message = $data['message'];
if ($code == 0) { //这边正常code是0,所以当有正确返回值才会发送捕捉的数据
$sql = "INSERT INTO `Videostrack` (aid, view, danmaku, reply, favorite, coin, share, zan)
VALUES('$aid', '$view', '$danmaku', '$reply', '$favorite', '$coin', '$share','$like')";
if(!mysqli_query($conn, $sql))
{
die('上传数据库失败' . mysql_error()); //上传过程歇逼了弹出并报错
}
print ("上传成功");
$conn->close(); //结束服务器会话
} elseif($code == 40003){ //40003是状态错误,通常是视频过审发布前的状态
print ('视频未上线 ' );
echo $code;
print ' ';
echo $message;
die();
}else{
print ('未知错误 ' ); //不知道什么错误的话就直接输出代码和附带的信息
echo $code;
print ' ';
echo $message;
die();
}
?>