1

私はPHPの初心者です。私のプロジェクトには、PHP で curl を使用して YouTube リンクからすべてのビデオを取得するという 1 つのタスクがあります。YouTube のすべての動画を表示することはできますか?

Google検索でこのコードを見つけました:

<?php
 $ch = curl_init();
 curl_setopt($ch, CURLOPT_URL, 'http://www.youtube.com');
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
 $contents = curl_exec ($ch);
 echo $contents;
 curl_close ($ch);
?>

YouTube サイトが表示されますが、ビデオをクリックしても再生されません。

4

3 に答える 3

4

You can get data from youtube oemebed interface in two formats Xml and Json which returns metadata about a video:

http://www.youtube.com/oembed?url={videoUrlHere}&format=json

Using your example, a call to:

http://www.youtube.com/oembed?url=http://www.youtube.com/watch?v=B4CRkpBGQzU&format=json

So, You can do like this:

$url = "Your_Youtube_video_link";

Example :

$url = "http://www.youtube.com/watch?v=m7svJHmgJqs"

$youtube = "http://www.youtube.com/oembed?url=" . $url. "&format=json";
$curl = curl_init($youtube);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$return = curl_exec($curl);
curl_close($curl);
$result = json_decode($return, true);
echo $result['html'];

Try it...Hope it will help you.

于 2013-01-17T13:42:45.750 に答える
1

curlを使用してGoogleメインページ(または代替ページ)を取得し、html5libなどのライブラリを使用して返されたhtmlを解析できます。このアプローチを試したい場合、最初のステップは、関連するページで「ソースを表示」し、リンクがどのように構成されているかを確認することです。

問題に取り組むためのより洗練された方法は、Youtube API(Youtubeシステムと対話する方法)を使用することです。これにより、リンクを直接取得できる場合があります。たとえば、YoutubeAPIにリンクを送信するように依頼することができる場合があります。これを試してください。

于 2013-01-17T13:20:36.220 に答える