nov 1 2008

Obtendo dados da pagina de tópicos usando Curl PHP

  • Autor: IphoneVicious em Orkut, PHP
  • 3 Comentários
<?php
 
$cmm = "3537644";
$tid = "5262595609357189690";
$cmm = $_GET['cmm'];
$tid = $_GET['tid'];
 
$login = "prii@bugs.com";
$pswd = "senhadaprii";
$orkut = "http://www.orkut.com/";
$cookie = isset($_SESSION["coki"])?$_SESSION["coki"]:logar();$_SESSION["coki"]=$cookie;
$table=array();
 
if(isset($_GET['tid'])){
   die(getTopic());
}else{
   die(getTopics());
};
 
 
 
// ############################ functions ############################
 
 
 
function getTopics(){
   global $orkut, $cmm, $table;
   $dom = dom($orkut."CommTopics.aspx?cmm=$cmm");
   $trs = $dom->getElementsByTagName('tr');
   foreach($trs as $tr){
      if(preg_match("/list(dark|light)/",$tr->getAttribute('class'))){
         extrai_tr_info($tr);
      }
   }
 
   return implode("\n", $table);
}
 
 
 
function getTopic(){
   global $orkut, $cmm, $tid,  $table;
   $dom = dom($orkut."CommMsgs.aspx?cmm=$cmm&tid=$tid");
   $divs = $dom->getElementsByTagName('div');
   foreach($divs as $div){
      if($div->getAttribute('class') == "listitem"){
         extrai_div_info($dom,$div);
      }
   }
   return implode("\n", $table);
}
 
 
 
 
 
function extrai_div_info($dom,$div){
   global $table;
   $tmp = $div->getElementsByTagName('img')->item(0)->getAttribute('src');
      preg_match_all("/\d\/(\d+)/",$tmp,$tmp);
      $table[] = $tmp[1][0];
   $tmp = $div->getElementsByTagName('a')->item(1);
      $table[] = $tmp->nodeValue;
      preg_match("/\d+/",$tmp->getAttribute('href'),$tmp);
      $table[] = $tmp[0];
   $tmp = $div->getElementsByTagName('div');
      $table[] = preg_replace("/\n/i","",$tmp->item(0)->nodeValue);
      $tmp = explode("\n",$dom->saveXML($tmp->item(1)));
      $table[]=$tmp[1];
}
 
 
 
 
 
function extrai_tr_info($tr){
   global $table;
   preg_match("/[0-9a-z\:\ ]+/i",$tr->getElementsByTagName('td')->item(4)->nodeValue,$tmp);
   extrai_link_info($tr,0);
   extrai_link_info($tr,1);
   $table[]=$tr->getElementsByTagName('td')->item(3)->nodeValue;
   $table[]=$tmp[0];
}
 
 
 
function extrai_link_info($tr,$dado){
   global $table;
   $tmp1=$tr->getElementsByTagName('a');
   if(($tmp1->length==1)&&($dado==1)) return array("anônimo",0);
   $tmp1=$tmp1->item($dado);
   preg_match("/\d+$/",$tmp1->getAttribute('href'),$tmp3);
   $table[]=$tmp3[0];
   $table[]=$tmp1->nodeValue;
}
 
 
 
 
function dom($url){
   $r = curl($url,1,0,null);
   $dom = new DOMDocument();
   @$dom->loadHTML($r);
   $dom->saveHTML();
   return $dom;
}
 
 
 
 
 
function logar(){
   global $orkut,$login,$pswd;
   $clientlogin = "https://www.google.com/accounts/ClientLogin?skipvpage=true&service=orkut";
   $r = curl($clientlogin,1,0,"&Email=$login&Passwd=$pswd");
   preg_match_all("/Auth=(.*)/i",$r,$r);
   $r = curl($orkut."RedirLogin.aspx?auth=".$r[1][0],1,1,null);
   preg_match_all("/orkut_state=ORKUTPREF.*/i",$r,$r);
   return $r[0][0];
}
 
 
 
 
function curl($a,$b,$d,$e){
   global $cookie;
   $ch = curl_init();
      curl_setopt_array($ch,
         array(
            CURLOPT_URL => $a,
            CURLOPT_RETURNTRANSFER => $b,
            CURLOPT_COOKIE => $cookie,
            CURLOPT_HEADER => $d,
            CURLOPT_NOBODY => $d,
            CURLOPT_CUSTOMREQUEST => ($e)?"POST":"GET",
            CURLOPT_POSTFIELDS => $e
         )
      );
   $g = curl_exec($ch);
   curl_close($ch);
   return $g;
}
 
 
 
?>

Script criado por: Elsio Antunes



3 Comentários:

Trackbacks

  1. Elsio diz:
    pow vinícius… bota os créditos carai…
    novembro 25th, 2008 às 2:26 am
  2. Magnus diz:
    muito bom mesmo, parabens
    maio 17th, 2010 às 5:03 pm
  3. Rodrigo diz:
    Oi gente por favor me ajude a recuperar o meu orkut por favor tem coisas importante pra mim
    setembro 24th, 2012 às 3:23 am

DEIXE UM COMENTÁRIO

Subscrever

Subscreve o Blog



Publicidade

Comentários Recentes

  • shirley Balazs: Parabéns!! Informações de utilidade publica e de primeira, foi muito útil a mim.Obrigada!!
  • Jefferson Ferreira de brito: eu quero muito
  • thiago valente: Eu quero um para mim
  • Lucas martins balieiro: Eu não fiz o enem mesmo assim eu posso me inscrever no site essa é minha dúvida, só queme...
  • Francisca Marli Oliveira: quero saber quanto tenho no meu fgts

Links

Leitores Recentes

VALE O CLIQUE!

Site Seguro Ocioso

Divulgue o blog Infomaroto em seu site e tenha seu link ou banner aqui.
Blog Infomaroto