Ищу парсер youtube

Тема в разделе "Софт / Скрипты", создана пользователем BogSeo, 08.01.16.

  1. BogSeo

    BogSeo Новичок

    Сообщения:
    79
    Симпатии:
    5
    Баллы:
    14
    всем доброго времени суток)

    Ранее пользовался сервисом miamiparser.ru , ну он закрылся, ищу альтернативу или на скрипт\софт.
     
  2. Platon Shukin

    Platon Shukin Участник

    Сообщения:
    215
    Симпатии:
    95
    Баллы:
    41
    Content Downloader с ютубом справляется влегкую
    да и не только с ним - что угодно парсить можно
     
  3. Scrooge

    Scrooge Новичок

    Сообщения:
    5
    Симпатии:
    2
    Баллы:
    8
    С Content Downloader пока блин разберешься...
    Тоже сегодня искал, вот нашел, запустил-работает:
    Код:
    <?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>
     
  4. NightShadow

    NightShadow Новичок

    Сообщения:
    32
    Симпатии:
    18
    Баллы:
    13
    Если сильно надо могу под ZennoBox бота запилить или на python.
     
  5. SafAR

    SafAR Новичок

    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1
    Скачать здесь YoutubeScraper... А это анализ Virustotal... yahoo.gif ...
     
  6. seoanddev

    seoanddev Новичок

    Сообщения:
    17
    Симпатии:
    1
    Баллы:
    8
    Парсер youtube - согласитесь звучит громко!
    По делу: с ютуба никто ничего не качает (наверное) а нужны ссылки на релевантное видео.
    Под поиск всего этого дела есть отличное API с размахом google, сам пользовался хоть и немного криворукий в программировании.
    Соответственно имея ключи и 2-3К рублей на фрилансера средней паршивости получить "парсер" под себя не проблема.
    Если есть понимание php могу сбросить свой пример.
     
  7. woodman

    woodman Новичок

    Сообщения:
    5
    Симпатии:
    0
    Баллы:
    2
    youtube scraper нормальная прога... собирает ссылки на видосы по кеям
     
  8. nsergey2010

    nsergey2010 Новичок

    Сообщения:
    18
    Симпатии:
    11
    Баллы:
    9
    версия 1.6 ещё и загружать может найденное
     
    woodman нравится это.
  9. woodman

    woodman Новичок

    Сообщения:
    5
    Симпатии:
    0
    Баллы:
    2
    Это да) но я как понял ссылки нужны только были:) по этому про содержимое не стал писать :)
     
  10. Parfumer

    Parfumer Новичок

    Сообщения:
    16
    Симпатии:
    3
    Баллы:
    8
    2016-08-13_15-00-24.png
    Прога отличная. А вот вчера начал парсить ссылки с Youtube и выпрыгивает вот такая байда как на скрине. Это траблы с прогой или че го то на компе? Посмотреть вложение 210 Посмотреть вложение 210
     
  11. ioroland

    ioroland Новичок

    Сообщения:
    3
    Симпатии:
    1
    Баллы:
    1
    лучше чем а-парсер или контент даунлоадер ничего по парсу нет....
     
  12. seoanddev

    seoanddev Новичок

    Сообщения:
    17
    Симпатии:
    1
    Баллы:
    8
    парсер не всегда нужен как десктопное решение, иногда страницы нужно генерить на лету. Можно конечно и контент даунлоадер реализовать - но это костыли
    ------------------- Добавлено 30.08.16 -------------------
    Чего не сделаешь для добрых людей, недавно редактировал парсер под себя - вот вырезал упрощенную версию для общего использования.
    Пишу как умею, претензии не принимаются


    Код:
    <?php
    
    $API_KEY = 'ваш API ключ'; // типа AIzayCpJd6dVszdfduA3AmAHTIe7GIcF2eQhrA (не рабочий)
    $youtube_respond_empty = 0;
    $contentArr = '';
    $ready_content = '';
    
    # название того что ищем, к примеру: "Сиськи Семенович"
    $search_string = "Сиськи Семенович";
    $contentArr = serach_youtube_clip($search_string);
    
    if (!empty($contentArr)) {
    
        # расскоментировать чтобы увидеть ответ полностью
        /*
          echo '<pre>';
          print_r($contentArr);
         */
    
        # количество ответов
        $count_requests = count($contentArr);
    
        # Получаю id видео и заголовок (title). Можно получать что-то свое
        $youtube_id = '';
        $youtube_title = '';
        if ($count_requests >= 1) {
    
            # перебираем ответы
            for ($x = 0; $x < $count_requests; $x++) {
                if (!empty($contentArr[$x]['id'])) {
                    $ready_content[$x]['id'] = $contentArr[$x]['id'];
                }
    
                if (!empty($contentArr[$x]['title'])) {
                    $ready_content[$x]['title'] = $contentArr[$x]['title'];
                }
            }
        }
    }
    
    # смотрим что получилось
    echo '<pre>';
    print_r($ready_content);
    
    # подставляем id и имеем ссылку на видео https://youtu.be/сюда id
    
    # сама функция поиска (здесь получаем только id и title, можно добавить своё)
    function serach_youtube_clip($search_string) {
        global $API_KEY;
        $contentArr = array();
    
        $url = 'https://www.googleapis.com/youtube/v3/search?part=snippet&type=video'
                . '&q=' . urlencode($search_string)
                . '&maxResults=' . 10
                . '&key=' . $API_KEY
                . '&type=video';
    
        $content = file_get_contents($url);
    
        if ($content && !empty($content)) {
    
            $json = json_decode($content, 1);
    
            # если данные есть
            if (!empty($json['items'])) {
    
                # перебор доступных значений
                foreach ($json['items'] as $value) {
                    $part = array(
                        'id' => $value['id']['videoId'],
                        'title' => $value['snippet']['title']
                    );
    
                    $contentArr[] = $part;
                }
            }
        }
        return $contentArr;
    }
    
    Получаем что-то вроде: http://take.ms/0IiD1
    Profit: https://monosnap.com/file/fFLALtPoyBf6dMVR7ud4QQw4WvCAVl
     

Поделиться этой страницей