私は、次のようなJavaScriptコードのインラインに埋め込まjavascript配列を持つWebページをこすりする必要がありますこれらのビデオURLのPHP配列?スクレイプWebページおよび検索javascriptの変数は
編集: すべての動画は.movの拡張子です。
私は、次のようなJavaScriptコードのインラインに埋め込まjavascript配列を持つWebページをこすりする必要がありますこれらのビデオURLのPHP配列?スクレイプWebページおよび検索javascriptの変数は
編集: すべての動画は.movの拡張子です。
これはもう少し複雑ですが、それはここでOPからのフィードバック後の形式で実際にあるもののみのリンク、videos[0] = 'http://myvideos.com/video1.mov';
$tmp=str_replace(array("\r","\n"),'',$original,$matches);
$pattern='/\<script\>\s+var\ videos.*?((\s*videos\[\d+\]\ \=\ .http\:\/\/.*?\;\s*?)+)(.*?)\<\/script\>/';
$a=preg_match_all($pattern,$tmp,$matches);
unset($tmp);
if (!$a) die("no matches");
$pattern="/videos\[\d+\]\ \=\ /";
$matches=preg_split($pattern,$matches[1][0]);
$final=array();
while(sizeof($matches)>0) {
$match=trim(array_shift($matches));
if ($match=='') continue;
$final[]=substr($match,1,-2);
}
unset($matches);
print_r($final);
を取得するには、簡易版です。
$original=file_get_contents($url);
$pattern='/http\:\/\/.*?\.mov/';
$a=preg_match_all($pattern,$original,$matches);
if (!$a) die("no matches");
print_r($matches[0]);
あなたはfile_get_contentsでページを読んでから、正規表現でURLを取得することでこれを掻き集めることができます。 これは私が知っている最も簡単な方法です。特に、あなたのビデオのファイル拡張子が分かっている場合は、 Exemple:
<?php
$file = file_get_contents('http://google.com');
$pattern = '/http:\/\/([a-zA-Z0-9\-\.]+\.[fr|com]+)/i';
preg_match_all($pattern, $file, $matches);
var_dump($matches);
これはまさに私の最初のアプローチでした。私にはそれほど多くの選択肢はないと思いますか? – Nacho
私はfile_get_contentsを使用し、いくつかの正規表現を試しています。私は正規表現でうまくいきません。 – Nacho