1

次のようなYoutubeページを取得するためにCURLを使用しています:

$url = "https://www.youtube.com/watch?v=jyPnQw_Lqds";

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$curl_scraped_page = curl_exec($ch);
curl_close($ch);

echo $curl_scraped_page;

ビデオが再生されないようです。理由はわかりません。データを次のように設定することでこの問題を解決し、次のようにプレーンとしてformat jsonデコードするスクリプトを見つけました。jsonhtml

$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'];

この 2 つのスクリプトを「マージ」して、1 つとして機能させようとしています。スクリプトを次のようにまとめました。

PHPFiddle の例、実行 (F9) ボタンをクリックします。

ご覧のとおり、上部のビデオは再生されません。一番下までスクロールすると、別のビデオ (JSON によってエコーされたビデオ) が表示されます。これは実際に再生できます。

上部のビデオを再生するにはどうすればよいですか? 最初に「オブジェクト」を「見つけて」からjsonなどにフォーマットすることを考えていましたが、これはページを台無しにするのではないかと心配しています。

4

0 に答える 0