logar

Se loga no Orkut, retornando a página inicial.

BUILD

Método do Moose que é executado logo após o new, estou me logando logo após o new.

get_tpc

Começa a fazer o parser do orkut, você precisa passar o id da cmd.

my $comunidade_id = '4684637';
my $element       = $spider->get_tpc($comunidade_id);

ir_next_pagina_tpc

Vai para a próxima página do tópico, retornando o element da próxima página.

my $comunidade_id = '4684637';
my $element       = $spider->get_tpc($comunidade_id);
my $infs          = $spider->tpc_parser($element);

foreach my $tpc_id ( keys %{$infs} ) {

    # - Primeira página do fórum da comunidade que
    # tem os tópicos, imprime todos.
    print Dumper $infs->{$tpc_id};
}
while ( $element = $spider->ir_next_pagina_tpc($element) ) {
    my $infs = $spider->tpc_parser($element);

    foreach my $tpc_id ( keys %{$infs} ) {

        # - Segunda em diante  página do fórum da comunidade que
        #tem os tópicos, imprime todos.
        print Dumper $infs->{$tpc_id};
    }
}

tpc_parser

Faz o parser das informações do tópico, tpc_id; tpc_titulo; tpc_autor; tpc_autor_id; tpc_numero_posts;

my $comunidade_id = '52903';
my $element       = $spider->get_tpc($comunidade_id);
my $infs          = $spider->tpc_parser($element);

foreach my $tpc_id ( keys %{$infs} ) {
    print Dumper $infs->{$tpc_id};
}

get_tpc_thread

Se passa como argumento o ID da cmd e o ID do tópico, e retorna um elemento.

my $thread_element = $spider->get_tpc_thread( $comunidade_id, $tpc_id );

_uri_thread

Retorna a URI da thread

tpc_thread_parser

Responsável por fazer o parser da thread, [usuario_nome, usuario_id , msg_texto] Ele busca nas mensagens(msg) as informações.

my $thread_element = $spider->get_tpc_thread( $comunidade_id, $tpc_id );
my $thread_infs = $spider->tpc_thread_parser($thread_element);

# - Imprime o conteúdo dentro do tópico a thread,
#aqui imprime a primeira página.
print Dumper $thread_infs;

ir_next_pagina_tpc_thread

Responsável por ir até a próxima página da thread.

# - Começa a fazer o parser da thread do tópico.
my $thread_element = $spider->get_tpc_thread( $comunidade_id, $tpc_id );
my $thread_infs = $spider->tpc_thread_parser($thread_element);

# - Imprime o conteúdo dentro do tópico a thread,
#aqui imprime a primeira página.
print Dumper $thread_infs;

foreach my $thread_inf ( @{$thread_infs} ) { 
    while ( my $thread_element =
        $spider->ir_next_pagina_tpc_thread($thread_element) )
    {   
        my $thread_infs = $spider->tpc_thread_parser($thread_element);

        # - Imprime o conteúdo dentro do tópico a thread
        #aqui imprime a segunda página em diante.
        print Dumper $thread_infs;
    }   
}   

busca_tpc

Faz a busca no Orkut nos tópicos com as palavras chaves que você digitar, retornando o elemento com os resultados.

    my $busca       = 'jacotei zuera';
    my $tpc_element = $spider->busca_tpc($busca);
    my $infs_busca  = $spider->busca_tpc_parser($tpc_element);
    
	# - comunidade_id, tpc_id    
    say $_->[0], "\t", $_->[1] for @{$infs_busca};

busca_tpc_parser

Faz o parser dos resultados encontrados, recebe como argumento o elemento que contem o resultado das buscas. Essa função retorna: id do tópico, id da comunidade,titulo do tópico, e um array com as mensagens envolvendo aquele tópico que contenha as palavras da busca.

use Data::Dumper;

use aliased 'WWW::Orkut::API::Search';

my $spider = Interface->new(
    email    => 'user',
    password => 'pass'
);

my $busca       = 'jacotei zura';
my $tpc_element = $spider->busca_tpc($busca);
my $infs_busca  = $spider->busca_tpc_parser($tpc_element);

foreach my $a ( @{$infs_busca} ) {
  
    print $a->{'titulo_tpc'}, "\t", $a->{'id_comunidade'}, "\t",
      $a->{'id_topico'}, "\n";
    
    foreach my $c ( @{ $a->{'mensagens'} } ) {

        print Dumper $c;

    }

}

NAME

WWW::Orkut::API::Search - API for Orkut

SYNOPSIS

use WWW::Orkut::API::Search;
use Data::Dumper;
my $spider = WWW::Orkut::API::Search->new(
    email    => "...",
    password => "..."
);
my $comunidade_id = '117916';
my $element = $spider->get_tpc($comunidade_id);
my $infs    = $spider->tpc_parser($element);

# - Primeira página do fórum da comunidade que tem os tópicos,
#imprime todos.
print_stuffs($infs);
while ( $element = $spider->ir_next_pagina_tpc($element) ) {
    my $infs = $spider->tpc_parser($element);

    # - Segunda em diante  página do fórum da comunidade que tem
    #os tópicos, imprime todos.
    print_stuffs($infs);
}
sub print_stuffs {
    foreach my $tpc_id ( keys %{$infs} ) {
        print "Topico_ID => $tpc_id\t", $infs->{$tpc_id}{'tpc_autor'}, "\n";

        # - Começa a fazer o parser da thread do tópico.
        my $thread_element =
          $spider->get_tpc_thread( $comunidade_id, $tpc_id );
        my $thread_infs = $spider->tpc_thread_parser($thread_element);
    
        # - Imprime o conteúdo dentro do tópico a thread,
        #aqui imprime a primeira página.
        print Dumper $thread_infs;
    
        foreach my $thread_inf ( @{$thread_infs} ) {
            while ( my $thread_element =
                $spider->ir_next_pagina_tpc_thread($thread_element) )
            {
                my $thread_infs =
                  $spider->tpc_thread_parser($thread_element);
            
                # - Imprime o conteúdo dentro do tópico a thread
                #aqui imprime a segunda página em diante.
                print Dumper $thread_infs;
            }
        }
    }
}

VERSION

Version 0.01

AUTHOR

Daniel de Oliveira Mantovani, <daniel.oliveira.mantovani at gmail.com>

BUGS

Please report any bugs or feature requests to bug-www-orkut-api-search at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=WWW-Orkut-API-Search. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

perldoc WWW::Orkut::API::Search

You can also look for information at:

ACKNOWLEDGEMENTS

LICENSE AND COPYRIGHT

Copyright 2010 Daniel de Oliveira Mantovani.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.

1 POD Error

The following errors were encountered while parsing the POD:

Around line 46:

Non-ASCII character seen before =encoding in 'página'. Assuming UTF-8