Вземане на клиповете от категория във vbox

webdeveloper

Registered
Здравейте, понеже vbox са правили някакви промени скрипта ми вече не работи. :o Надявам се, че ще се намери някой ентусиаст да го поправи. :)

PHP:
<?php

for ($s=1; $s <= 66; $s++)
{
   $html = file_get_contents("http://vbox7.com/category:%D0%98%D0%BD%D1%86%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8?&page=$s");

   preg_match_all('/href="\/play\:[^"?]*" class="sk"/', $html, $users);

   for($i=0, $a=count($users); $i<$a; $i++)

   $users[$i] = str_replace('"','', str_replace('href="/play:', '', $users[$i]));

   $us = (implode(', ',$users[0]));

   $us = explode(', ', $us);

   for ($n=0; $n < 15; $n++)
   {
      $user = $us[$n];
      $user = str_replace(' class=sk', '', $user);
      $user2 = "http://vbox7.com/play:$user";



$c = curl_init( 'http://www.vbox7.com/play/magare.do' );
$vid = $user; // ID на видеото !
$p = array(
    CURLOPT_HEADER => false,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => 'onLoad=[type Function]&vid=' . $vid
);
curl_setopt_array( $c, $p );
$return = curl_exec( $c );
curl_close( $c );

$return = preg_replace( '/&videoFile=(.*)&/', '$1', $return );


$kartinka = "http://i47.vbox7.com/p/{$user}3.jpg";
$source = file_get_contents($user2);
$title = explode("<title>", $source);
$title = explode("</title>", $title[1]);
$title=str_replace(" / VBOX7"," ",$title[0]);
$title=iconv('utf-8','cp1251',urldecode($title));
$ime = (htmlspecialchars(addslashes($title)));


echo "<font color='red'>$return ($kartinka) [$ime]</font> <br>";	  
	  
	  
	  
   }
}
?>
 
PHP:
<?php

for ($s=1; $s <= 66; $s++)
{
   $html = file_get_contents("http://vbox7.com/category:%D0%98%D0%BD%D1%86%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8?&page=$s");

   preg_match_all('/href="\/play\:[^"?]*" class="sk"/', $html, $users);

   for($i=0, $a=count($users); $i<$a; $i++)

   $users[$i] = str_replace('"','', str_replace('href="/play:', '', $users[$i]));

   $us = (implode(', ',$users[0]));

   $us = explode(', ', $us);

   for ($n=0; $n < 15; $n++)
   {
      $user = $us[$n];
      $user = str_replace(' class=sk', '', $user);
      $user2 = "http://vbox7.com/play:$user";



$c = curl_init( 'http://www.vbox7.com/play/magare.do' );
$vid = $user; // ID на видеото !
$p = array(
    CURLOPT_HEADER => false,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => 'onLoad=[type Function]&vid=' . $vid
);
curl_setopt_array( $c, $p );
$return = curl_exec( $c );
curl_close( $c );

$return = preg_replace( '/&videoFile=(.*)&/', '$1', $return );


$kartinka = "http://i47.vbox7.com/p/{$user}3.jpg";
function vbox($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://www.vbox7.com/login/in.do');
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_POSTFIELDS, 'vboxusr=USERNAME&vboxpwd=PASSWORD&Submit=login');
curl_setopt ($ch, CURLOPT_COOKIEJAR, '/tmp/vbox_cookie.txt');
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 GTB5');
$store = curl_exec ($ch);
curl_setopt($ch, CURLOPT_URL, $url);
$content = curl_exec ($ch);
curl_close($ch);
$title = explode("<title>", $content);
$title = explode("</title>", $title[1]);
$title = str_replace(" / VBOX7","",$title[0]);
$title = iconv('utf-8','cp1251',urldecode($title));
return $title;
}
$ime = (htmlspecialchars(addslashes(vbox($user2))));

echo "<font color='red'>$return ($kartinka) [$ime]</font> <br>";	  
	  
	  
	  
   }
}
?>
 
Така нито линка взима, нито картинката, а пък за име излиза "Видео споделяне".

Също така vbox функцията трябва да е извън циклите.
 
webdeveloper каза:
Така нито линка взима, нито картинката, а пък за име излиза "Видео споделяне".

Също така vbox функцията трябва да е извън циклите.
Промен ли USERNAME и PASSWORD?
Ето ти фукцията:
PHP:
function vbox($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://www.vbox7.com/login/in.do');
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_POSTFIELDS, 'vboxusr=USERNAME&vboxpwd=PASSWORD&Submit=login');
curl_setopt ($ch, CURLOPT_COOKIEJAR, '/tmp/vbox_cookie.txt');
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 GTB5');
$store = curl_exec ($ch);
curl_setopt($ch, CURLOPT_URL, $url);
$content = curl_exec ($ch);
curl_close($ch);
$title = explode("<title>", $content);
$title = explode("</title>", $title[1]);
$title = str_replace(" / VBOX7","",$title[0]);
$title = iconv('utf-8','cp1251',urldecode($title));
return $title;
}
echo vbox('ЛИНК КЪМ КЛИПЧЕТО');
Нагласия както ти е удобно. :)
Но не забравяй, че трябва да промениш USERNAME и PASSWORD
 
Променил съм името и паролата, ползвам я в един друг скрипт, но при този нещо не можах да я вградя...
 
Edit: Оправих си скрипта. :) :) :)
Работи на 6 вече. :)

Добавих и проверка за youtube клиповете.
 
webdeveloper каза:
Edit: Оправих си скрипта. :) :) :)
Работи на 6 вече. :)

Добавих и проверка за youtube клиповете.
За YouTube не ти трябва curl при тях няма подобна схема за проверка на javascript или cookie. :)
 
Ev0luti0N каза:
webdeveloper каза:
Edit: Оправих си скрипта. :) :) :)
Работи на 6 вече. :)

Добавих и проверка за youtube клиповете.
За YouTube не ти трябва curl при тях няма подобна схема за проверка на javascript или cookie. :)

Става въпрос, че във vbox има клипове от youtube и тях трябва да ги игнорирам при добавянето от vbox. ;)
 
webdeveloper каза:
Ev0luti0N каза:
webdeveloper каза:
Edit: Оправих си скрипта. :) :) :)
Работи на 6 вече. :)

Добавих и проверка за youtube клиповете.
За YouTube не ти трябва curl при тях няма подобна схема за проверка на javascript или cookie. :)

Става въпрос, че във vbox има клипове от youtube и тях трябва да ги игнорирам при добавянето от vbox. ;)
Направи една проверка дали в дадената страница има съдържание на YouTube и го изведи като YouTube, ако не извади го като Vbox7. По същият начин можеш да направиш проверка при добавяне дали даденият адрес има съдържание на YouTube и да не изведеш грешка, че клипът е от YouTube и не може да бъде добавен. :?:
 
Както казах по-горе:

Добавих и проверка за youtube клиповете.

Има много по-лесен вариант от това което мъдриш ти, но както и да е, темата е изчерпана вече.
 

Back
Горе