Не нравятся результаты поиска? Попробуйте другой поиск!

Движок поиска видео


     20.12.2013    Общие вопросы по PHP    1543

вопрос
Есть код:
# Парсим содержимое страницы:
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-shockwave-flash','Accept-Language: ru','Accept-Encoding: deflate,sdch','Connection: Keep-Alive'));
    curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)");  
    curl_setopt($ch, CURLOPT_TIMEOUT, 30);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_COOKIEJAR, '/kinopoisk.txt');
    curl_setopt($ch, CURLOPT_COOKIEFILE, '/kinopoisk.txt');
    curl_setopt($ch, CURLOPT_REFERER, "http://www.kinopoisk.ru/");
    curl_setopt($ch, CURLOPT_PORT, 80);
    $content = curl_exec($ch);  
    curl_close($ch);
    # Выводим информацию:
    return $content;
}


И:
# Функция авторизации вконтакте:
function get_hash(){
    global $vk;
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,"http://vk.com/login.php?m=1");
    curl_setopt($ch, CURLOPT_HEADER, 1);
    curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)");  
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_TIMEOUT, 30);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_COOKIEJAR, '/vk.txt');
    curl_setopt($ch, CURLOPT_COOKIEFILE, '/vk.txt');
    curl_setopt($ch, CURLOPT_REFERER, "http://vk.com/");  
    curl_setopt($ch, CURLOPT_POSTFIELDS, "email=".$vk['login']."&pass=".$vk['password']."&vk=&al_test=1");  
    curl_setopt($ch, CURLOPT_PORT, 80);
    $response = curl_exec($ch);  
    curl_close($ch);
    preg_match_all('#remixsid=([0-9a-f]+)\;#isU', $response, $hash);
    if(isset($hash[1][0]) && $hash[1][0] != ''){$fp = fopen('./vk.txt',"w+"); fwrite($fp,$hash[1][0]); fclose($fp);}
}
# Функция получения онлайн видео:
function get_video($query){
    global $vk;
    $hash = file_get_contents('./vk.txt');
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,"http://vk.com/search?c%5Bq%5D=".urlencode($query)."&c%5Bsection%5D=video&c%5Bsort%5D=1");
    curl_setopt($ch, CURLOPT_HEADER, 1);
    curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; America Online Browser 1.1; rev1.1; Windows NT 5.1;)");  
    curl_setopt($ch, CURLOPT_COOKIE, "remixsid=".$hash);
    curl_setopt($ch, CURLOPT_TIMEOUT, 30);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_REFERER,"http://vk.com/id".rand(100000,999999));
    curl_setopt($ch, CURLOPT_PORT, 80);
    $response = curl_exec($ch);
    $info = curl_getinfo($ch);
    curl_close($ch);
    if($info['http_code'] != '200'){get_hash(); return false;}
    else{return $response;}
    return $response;
}
# Функция вывода плеера:
function get_player($id){
    $hash = file_get_contents('./vk.txt');
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,"http://vk.com/video".str_replace('-','_',$id)."?noiphone");
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; America Online Browser 1.1; rev1.1; Windows NT 5.1;)");  
    curl_setopt($ch, CURLOPT_COOKIE, "remixsid=".$hash);
    curl_setopt($ch, CURLOPT_TIMEOUT, 30);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_REFERER,"http://vk.com/id".rand(100000,999999));
    curl_setopt($ch, CURLOPT_PORT, 80);
    $response = curl_exec($ch);
    $info = curl_getinfo($ch);
    $response = str_replace("\\","",$response);
    curl_close($ch);
    if($info['http_code'] != '200'){get_hash(); return false;}
    else{
        preg_match_all("#\"hash2\":\"([a-z0-9]+)\"#isU", $response, $hash);
        preg_match_all("#<iframe(.*)src=\"(.*)\"#isU", $response, $frame);
        return 'http://vk.com/video_ext.php?oid='.str_replace('-','&id=',$id).'&hash='.$hash[1][0];
    }
}


Я думаю что дело в "vk.txt" в котором указано: 8564486ca660c9d4d1a549d9daa16f572afb4a88674e496f69c073dee931
И в "kinopoisk.txt" в котором указанно:
# Netscape HTTP Cookie File
# http://curl.haxx.se/rfc/cookie_spec.html
# This file was generated by libcurl! Edit at your own risk.

.kinopoisk.ru    TRUE    /    FALSE    0    PHPSESSID    50846708d309040454bed78f4bd5da0b
.kinopoisk.ru    TRUE    /    FALSE    1348345321    last_visit    2012-08-09+00%3A22%3A01
.kinopoisk.ru    TRUE    /    FALSE    1353097321    user_country    ua

Ответа пока нет


Комментарии пользователей (5)

Sander
1126

1638 | 1204

Sander - 20 декабря 2013 14:28 - Эксперт

"Движок"... LOL
2 куска кода и уже движок.

В чем вопрос-то заключается?

SanDev.pro - мой блог.

ICQ: 404-037-556
Skype: Sander8804

vLKII
12 | 1

vLKII - 20 декабря 2013 14:35 - Юзер

У меня есть целый движок но он не ищет видео. Думаю и за усторевших данных в "vk.txt" и "kinopoisk.txt". Вопрос в том что там указано и на что поменять чтоб работало? Скрипт выдает ошибку "Возникла ошибка. Повторите Ваш запрос позднее."

Sander
1126

1638 | 1204

Sander - 20 декабря 2013 14:40 - Эксперт

Лишь творец Движка (скрипта) сможет ответить на сей вопрос.

SanDev.pro - мой блог.

ICQ: 404-037-556
Skype: Sander8804

vLKII
12 | 1

vLKII - 20 декабря 2013 14:45 - Юзер

Вроде, судя по коду, можно выяснить для чего он...

dj-avtosh
39

1479 | 390

dj-avtosh - 24 декабря 2013 14:46 - шашлычник

Это вроде куки и они должны данные заново генерить, поставьте на папку где лежат эти txt права 777 и опустошите эти txt.

skype: elhan.isaev

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы