[Rio-pm] HTML::Parse
Aureliano Guedes
guedes_1000 em hotmail.com
Sexta Outubro 19 11:19:01 PDT 2012
Acho que estou cometendo algum erro.
#!/usr/bin/env perl
use strict;
use warnings;
use WWW::Mechanize;
sub parse {
my ($self) = shift;
$self =~ s/\s+/\+/g;
chomp $self;
chop $self;
return $self;
}
sub link_gen {
my $self = shift;
my $link = "http://www.buscamp3.org/busca/" . $self;
return $link;
}
sub get_donwloader_link {
my $self = shift;
my $m = WWW::Mechanize->new();
$m->get($self);
my @Links = $m->links();
foreach my $link(@Links){
print $link->text();
}
undef $m;
}
open IN, $ARGV[0] or die;
foreach (<IN>){
print "Search for: " . $_ . "\n";
print get_donwloader_link (link_gen (parse ($_)));
print "\n__________________________________________________\n";
}
From: guedes_1000 em hotmail.com
To: rio-pm em pm.org
Date: Fri, 19 Oct 2012 17:56:34 +0000
Subject: Re: [Rio-pm] HTML::Parse
Isso, é mais ou menos isso mesmo.
No caso você usou o WWW:Mechanize, que apesar de eu usar como navegador nunca tinha parado para ver essa propriedade dele.
Mas será que não fica um pouco pesado não usar o Mechanize?
Eu não entendi como usar o Web::Scraper indicado pelo Junior.
Mas ja me ajudaram, obrigado.
Date: Fri, 19 Oct 2012 14:47:38 -0300
From: andregarciacarneiro em gmail.com
To: rio-pm em pm.org
Subject: Re: [Rio-pm] HTML::Parse
Vários módulos e vários jeitos de fazer!
Se eu entendi o que você precisa, pode ser assim:
use common::sense;use WWW::Mechanize;
my $m = WWW::Mechanize->new();$m->get('http://www.google.com');my @Links = $m->links();foreach my $link(@Links){
say $link->text; }undef $m;
#Por favor, RTFM aqui: http://search.cpan.org/~jesse/WWW-Mechanize-1.72/lib/WWW/Mechanize/Link.pm
Caso não seja isso o que você quer, explique melhor por gentileza!
2012/10/19 Aureliano Guedes <guedes_1000 em hotmail.com>
Ola monges,
tudo bem?
Qual um bom modulo para buscar string em um HTML?
Vocês aconselham o HTML::Parse?
Eu não entendo muito de html, mas estou tentando pegar um link dentro de uma pagina.
Um exemplo é esse: http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/
Os Links estão nesse formato:
<a href="/download/thaeme+e+thiago+ai+que+do_3473494b6c3636334d55.html" title="Thaeme E Thiago - Ai Que Do">
O Problema é que no caso dessa pagina tem 4 links desse modelo e eu queria pegar apenas o primeiro.
Poderia usar regexp mas anteriormente me disseram que não é muito elegante parsear HTML na unha.
Sei que a duvida é banal, mas se puderem me dar uma dica agradeço.
Att,
Aureliano Guedes.
_______________________________________________
Rio-pm mailing list
Rio-pm em pm.org
http://mail.pm.org/mailman/listinfo/rio-pm
--
André Garcia Carneiro
Software Engineer
(11)982907780
_______________________________________________
Rio-pm mailing list
Rio-pm em pm.org
http://mail.pm.org/mailman/listinfo/rio-pm
_______________________________________________
Rio-pm mailing list
Rio-pm em pm.org
http://mail.pm.org/mailman/listinfo/rio-pm
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/rio-pm/attachments/20121019/89bb9fc9/attachment.html>
Mais detalhes sobre a lista de discussão Rio-pm