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_1...@hotmail.com To: rio-pm@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: andregarciacarne...@gmail.com To: rio-pm@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_1...@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@pm.org http://mail.pm.org/mailman/listinfo/rio-pm -- André Garcia Carneiro Software Engineer (11)982907780 _______________________________________________ Rio-pm mailing list Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm _______________________________________________ Rio-pm mailing list Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm
_______________________________________________ Rio-pm mailing list Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm