一部のデータセットが特定の youtube ビデオにリンクしている巨大なデータベースがあります。YouTubeからしばらくするといくつかのYouTube動画が消えることは誰もが知っているので、これが私の解決策と私の問題にもつながります->取得するデータがあるかどうかをJSON経由で確認するだけで、YouTube動画がまだ存在するかどうかを確認したいと思いますビデオから。そうでない場合は、単にその特定のデータ セットを削除します。
したがって、私の解決策の最初の部分は、次のコードに示すように、データ テーブルの各行を調べて、YouTube から取得するデータがあるかどうかを各 ID で確認することです。
$result = $db->query("SELECT id, link FROM songs"); while($row = $result->fetch_assoc()) { $number = 1+$rown++; $id = $row['id']; $link = $row['link'];
$video_ID = $link;
$JSON = file_get_contents("https://gdata.youtube.com/feeds/api/videos/{$video_ID}?v=2&alt=json");
$JSON_Data = json_decode($JSON);
$views = $JSON_Data->{'entry'}->{'yt$statistics'}->{'viewCount'};
echo $number .' row<br />';
echo $link .' link<br />';
echo $views .' views<br /><br />';
}
この試みはうまく機能し、必要なデータを出力してくれます。唯一の問題は、最初の 150 ~ 190 行からデータを取得するだけで、それだけです。今、私は空のYouTubeデータの各行をチェックするソリューションをチェックしています.これは私が持っている2つの具体的な質問につながります:
1st) 単一のクエリからデータを取得する際の制限により、YouTube がその責任を負う可能性がありますか?
2番目) これは私のサーバーの問題で、x 秒後にクエリを停止する可能性があります (ただし、set_time_limit (10000000); という行を php コードに挿入することで制限時間を既に延長していますが、成功していません)?
よろしくお願いします。