rom4art2
Постоялец
- Регистрация
- 27 Фев 2009
- Сообщения
- 276
- Реакции
- 174
- Автор темы
- #1
Здравствуйте, такая вот задача.
Хочу сделать парсер видео, на входе страничка с видео - на выходе ссылка на видеофайл для скачки. Программ и сервисов достаточно, но все же...
есть такой алгоритм:
Загружаем страницу с видео через CURL, циклом перебираем все заголовки. Берем заголовок с самым большим размером, выдираем оттуда URL - это и будет ссылка для скачивания)
Алгоритм вроде рабочий, но из-за не профессионализма не знаю как перебрать заголовки и извлечь оттуда URL
Нашел функцию получения контента, подскажите как извлечь URL с видео?
Хочу сделать парсер видео, на входе страничка с видео - на выходе ссылка на видеофайл для скачки. Программ и сервисов достаточно, но все же...
есть такой алгоритм:
Загружаем страницу с видео через CURL, циклом перебираем все заголовки. Берем заголовок с самым большим размером, выдираем оттуда URL - это и будет ссылка для скачивания)
Алгоритм вроде рабочий, но из-за не профессионализма не знаю как перебрать заголовки и извлечь оттуда URL
Нашел функцию получения контента, подскажите как извлечь URL с видео?
function get_web_page( $url )
{
$uagent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8";
$ch = curl_init( $url );
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // возвращает веб-страницу
curl_setopt($ch, CURLOPT_HEADER, 0); // не возвращает заголовки
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // переходит по редиректам
curl_setopt($ch, CURLOPT_ENCODING, ""); // обрабатывает все кодировки
curl_setopt($ch, CURLOPT_USERAGENT, $uagent); // useragent
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 120); // таймаут соединения
curl_setopt($ch, CURLOPT_TIMEOUT, 120); // таймаут ответа
curl_setopt($ch, CURLOPT_MAXREDIRS, 10); // останавливаться после 10-ого редиректа
$content = curl_exec( $ch );
$err = curl_errno( $ch );
$errmsg = curl_error( $ch );
$header = curl_getinfo( $ch );
curl_close( $ch );
$header['errno'] = $err;
$header['errmsg'] = $errmsg;
$header['content'] = $content;
return $header;
}