[PHP] Скрипт YouTube парсер

Возврат к списку

загружено.jpg

Медиаконтент занимает немаловажное значение в создании белых сайтов или так называемых ГС. Возможно вы обращали внимание, многие блогеры вставляют интересное видео в конце своих записей, для чего это делается? Кто-то говорит что это основной инструмент для привлечения дополнительного трафика с Поисковых систем, кто-то утверждает что это придает трастовость площадке, поисковые системы анализируют время присутствия пользователей на отдельных страницах, и чем дольше пользователь находится на странице, тем она интереснее, значит там располагается интересный контент. Это основные предположения к которым я прислушиваюсь и они имеют аргументированное обоснование и примеры.

Для удобства парсинга видео, написал скрипт, который парсит с YouTube ссылки на видео, по заданным ключевым словам.

YP-300x170.jpg

Преимущества скрипта: - неограниченное количество ключевых слов - возможность задавать количество страниц парсинга - имя для файла с результатом (ссылками) задается вручную - скрипт распространяется бесплатно.

Исходный код:

<?php

//Кодер Zircool
//Блог программиста www.zircool.ru

//Отключить все сообщения об ошибках
/*error_reporting(0);*/

//Инклудим все необходимое

@ini_set('max_execution_time',0);
?>
<html>

<head>
<style>
input:focus{
        outline:none;
        border-color:rgba(255,25,33,.75);
        border-radius:3px;
        -moz-border-radius:3px;
        -webkit-border-radius:3px;
        box-shadow:008pxrgba(255,25,33,.5);
        -moz-box-shadow:008pxrgba(255,25,33,.5);
        -webkit-box-shadow:008pxrgba(255,25,33,.5);
}
input{
        border:1pxsolid#aaa;
        border-radius:3px;
        -moz-border-radius:3px;
        -webkit-border-radius:3px;
        transition:borderlinear.2s,box-shadowlinear.2s;
        -moz-transition:borderlinear.2s,-moz-box-shadowlinear.2s;
        -webkit-transition:borderlinear.2s,-webkit-box-shadowlinear.2s;
}

textarea:focus{
        outline:none;
        border-color:rgba(255,25,33,.75);
        border-radius:3px;
        -moz-border-radius:3px;
        -webkit-border-radius:3px;
        box-shadow:008pxrgba(255,25,33,.5);
        -moz-box-shadow:008pxrgba(255,25,33,.5);
        -webkit-box-shadow:008pxrgba(255,25,33,.5);
}
textarea{
        border:1pxsolid#aaa;
        border-radius:3px;
        -moz-border-radius:3px;
        -webkit-border-radius:3px;
        transition:borderlinear.2s,box-shadowlinear.2s;
        -moz-transition:borderlinear.2s,-moz-box-shadowlinear.2s;
        -webkit-transition:borderlinear.2s,-webkit-box-shadowlinear.2s;
}

table{
        background-color:#cccccc;
        width:400px;
}
tr{
        background-color:#ffffff;
}
</style>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>YouTube Парсер</title>
</head>

<body>

<form action=""method="post">
<center>

<table>
<tr><td><div style='padding:5px;' align="right">Кейворды:</div></td><td><div style='padding:5px;' align="left"><textarea name="keys"rows=5 cols=20 wrap="off"></textarea></div></td></tr>
<tr><td><div style='padding:5px;' align="right">Количество страниц:</div></td><td><div style='padding:5px;' align="left"><input name="page" type="text" value="1"></div></td></tr>
<tr><td><div style='padding:5px;' align="right">Имя файла:</div></td><td><div style='padding:5px;' align="left"><input name="filename" type="text" value="parse.txt"></div></td></tr>

</table>

<table>
<tr><td><center><input name="sub" type="submit" value="Парсить">&nbsp;&nbsp;&nbsp;<input type="reset" value="Сбросить настройки"></center></td></tr>
</table>

<table>
<tr><td><a href="http://zircool.ru/">Программист Zircool</a></td></tr>
</table>
</center>

</form>

<?php

if(isset($_POST['sub'])){
        $keys=$_POST['keys'];
        $page=intval(trim($_POST['page']));
        $filename=trim($_POST['filename']);

        $KeysArray=explode("\n",$keys);
        $KeysArray=array_map("trim",$KeysArray);
        $CountKeys=count($KeysArray);

        //счетчик
        $cpl=0;

        ///Условие
        if($CountKeys>0&&!empty($page)){

                for($i=0;$i<$CountKeys;$i++){

                        //количество страниц
                        for($p=1;$p<=$page;$p++){

                        $YouLink="";

                        //обрабатываем ключевик
                        $key=trim($KeysArray[$i]);
                        $key=urlencode($key);
                        $key=str_replace("%20","+",$key);

                        $PageParse=file_get_contents("http://www.youtube.com/results?search_type=videos&search_query=".$key."&page=".$p);

                        if(strpos($PageParse,"/watch?v=")!=FALSE)
                        {
                                preg_match_all("/href=\"\/watch\?v=([^\"]*)\"/sU",$PageParse,$matches);

                                $resultmovies=array_unique($matches[1]);

                                $moviescount=count($resultmovies);
                                foreach($resultmovies as $movielink)
                                {
                                        $YouLink.="http://www.youtube.com/v/".trim($movielink)."\r\n";
                                        $cpl++;
                                }

                                //Записываем линк YouTube
                                $fp=fopen($filename,"a+");
                                fwrite($fp,$YouLink);
                                fclose($fp);

                                sleep(1);
                        }

                }

                }

        }

        echo"<center><table><tr><td><fontcolor=\"green\">Спарсено $cpl ссылок на видео.Данные ссылки сохранены в файл $filename</font></td></tr></table></center>";

}

?>

</body>

</html>

Скрипт тестировался и корректно работает на Денвере. Для тех кому не хочется копировать исходники, скрипт загрузил архивом, в конце топика ссылка на скачивание.

Недавно наткнулся на один сервис, с помощью которого можно добавить сайт в яндекс. Кстати на сайте еще много нужных сервисов для web мастера.



АлександрАлександр10.10.2016 в 18:25
0
Здравствуйте.

Интересный парсер. Работает отлично. Есть возможность прикрутить выбор роликов с заданной продолжительностью? И парсинг из определенного канала?

С уважением, Александр.
ответная реплика
adminadmin10.10.2016 в 22:33
0
Можно, но нужно дописывать парсер. Его особенность в простоте уже больше 3 лет работает 20 строчек кода.
ответная реплика


Возврат к списку

Теги
1c addurl AutoGRAPH.NET_Service Bitrix Bootstrap chmail.ru CMS curl DLE ERP Exel gmail google hdd hide html input Java script окна javascript Jquery JS JSON keywords mail.ru memori news.list No captcha nsma PHP php php attach PR recaptcha repair retweet script Sdorgen sdorgen select sms snagit Spam Test Twitter ucoz utf-8 VK wrike X-Satellite XHE xhe yandex yandex webmaster youtube АРМ БП3 Битрикс ВТБ24 ЕГРЮЛ ЖЖ ЗУП ИТС КЛАДР МБ-8 НДФЛ ПР ПФ ТИЦ УАТ УП автограф автокликер автоматизация автопостер ап ТИЦ битрикс валюты видео внешнее соединение время грамотное написание графика даты запрета день рождение дерево значений договор заказы заполнение ТЧ запонение ТЧ запрос 1С зарплатный реестр календарь книги кодировка комментарии координаты координирование проектов меню модальное окно народ обмен обработка ок рубль организационные структуры управления проектами остатки на складе отчет плавающий блок постинг программы для управления проектами расчет расстояния сервис система управления проектами скрипт скрыть блок смс софт таймер такси управление содержанием проекта фоновые задания чекер