Como obter o resultado do WWW::Mechanize

1. Como obter o resultado do WWW::Mechanize

José Cleydson Ferreira da Silva
cleysinhonv

(usa Ubuntu)

Enviado em 20/09/2011 - 15:13h

Olá pessoal,

Estou precisando de obter o resultado de um busca com o WWW::Mechanize no site abaixo. Criei uma classe para fazer isso, mas ela esta incompleta e me falta algum conhecimento para terminar a classe

http://mendel.cs.rhul.ac.uk/mendel.php?topic=fgen-file

Fiz duas rotinas para fazer isso, agora preciso de saber como ver esse resultado e como esse resultado pode ser armazenado em um arquivo.

Gostaria que alguém pudesse me ajudar

Abraço

sub start
{
my $fgene = {};

my $file = shift;

if(@_)
{
$file->{file} = _[0];
}

$fgene->{conexao} = WWW::Mechanize->new();
$fgene->{url} = 'http://mendel.cs.rhul.ac.uk/mendel.php?topic=fgen-file';
$fgene->{file} = $file;
$fgene->{program_name } = 'fgenesh';
$fgene->{org} = 'c';
$fgene->{sequence} = '';
$fgene->{query} = undef;
$fgene->{result} = undef;
$fgene->{output} = '';
bless($fgene);
return $fgene;
}

=head1

Faz consulta no Gene Finding na url
http://mendel.cs.rhul.ac.uk/mendel.php?topic=fgen-file

=cut

sub QueryAnotation
{
my $fgene = shift;

if(!$fgene->conecta())
{
print "Erro Swissprot<br>";
return 0;
}

$fgene->{query} = $fgene->{conexao}->submit_form
(
fields => {
$fgene->{file}
$fgene->{program_name };
$fgene->{org};
}
);
die unless ($swissprot->{conexao}->success);
}
else
{
print "Erro ao acessar FGENESH!";
}


}


  


2. Re: Como obter o resultado do WWW::Mechanize

Daniel Vinciguerra
dvinciguerra

(usa Debian)

Enviado em 22/09/2011 - 22:49h

Tenho a seguinte sugenstão:

Link para script formatado:
https://gist.github.com/1236563


package WWW::FGen;

use WWW::Mechanize;

# constructor
sub new {
my $class = shift;
return bless {
_mechanize => WWW::Mechanize->new( agent => 'Perl of Love' ),
_url => 'http://mendel.cs.rhul.ac.uk/mendel.php?topic=fgen-file',
_file => $file,
_program_name => 'fgenesh',
_org => 'c',
_sequence => '',
_query => undef,
_result => undef,
_output => '',
}, $class;
}

# mechanize accessor
sub mechanize {
$_[0]->{_mechanize} = $_[1] if defined $_[1];
return shift->{_mechanize};
}

# query accessor
sub query {
$_[0]->{_query} = $_[1] if defined $_[1];
return shift->{_query};
}

# result accessor
sub result {
$_[0]->{_result} = $_[1] if defined $_[1];
return shift->{_result};
}

# url accessor
sub url {
$_[0]->{_url} = $_[1] if defined $_[1];
return shift->{_url};
}

# execute search
sub search {
my $self = shift;

# getting page source L<HTTP::Response>
my $result = $self->mechanize->get(
$self->url
);
$self->query( $result->content );

# running search
my $search = $self->mechanize->submit_form(
form_number => 1,
fields => {
file => $self->{_file},
program_name => $self->{_program_name},
org => $self->{_org},
},
);
$self->result( $search->content );

# debug result
print $search->content;
#print $result->content;
}


package main;

my $app = WWW::FGen->new;
$app->search;







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts