[Rio-pm] HTML::Parse

Stanislaw Pusep creaktive em gmail.com
Sexta Outubro 19 21:08:04 PDT 2012


É a inspiração trazida pelo YAPC::Brasil, transbordando ;)

ABS()



2012/10/20 marcio souza ferreira <marciodesouzaferreira em gmail.com>

> admiro alguns da lista, meia-noite de uma sexta-feira e a nerdaiada
> postando código e outros lendo KKKKK
>
> forever alone level master!
>
> Em 20 de outubro de 2012 00:13, Stanislaw Pusep <creaktive em gmail.com>escreveu:
>
> Web::Scraper requer conhecimento de XPath e/ou seletores CSS.
>> No caso do link que você passou, URL do primeiro MP3 pode ser obtida via
>> XPath:
>>
>> //table[@class='linhas_lista'][1]//tr/td[2]/a/@href
>>
>> De onde tirei isso? De uma extensão pro Chrome, chamada XPath Helper:
>> https://chrome.google.com/webstore/detail/xpath-helper/hgimnogjllphhhkhlmebbmlgjoejdpjl
>> Firefox tem (tinha?) um tal do XPather:
>> https://addons.mozilla.org/en-US/firefox/addon/xpather/
>>
>> Provando o que o Marcio disse:
>>
>> stas em Stanislaws-MacBook-Pro:~$ perl -CADS -MDDP -MURI -MWeb::Scraper -e
>> 'p scraper{process q(//h1/strong),title=>q(text);process
>> q(//a[@href=~/\.mp3$/]),q(url[])=>q(@href)}->scrape((URI->new(q(
>> http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/))) x 2)'
>> Printing in line 1 of -e:
>> \ {
>>     title   "Baixar Thaeme e Thiago - Ai que do/ grátis",
>>     url     [
>>         [0]
>> http://www.buscamp3.org/dl/3473494b6c3636334d55/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3
>> ,
>>         [1]
>> http://www.buscamp3.org/dl/3473674c78687936326f/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3
>> ,
>>         [2]
>> http://www.buscamp3.org/dl/34736943505352494374/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3
>> ,
>>         [3]
>> http://www.buscamp3.org/dl/34734c6f727448494d71/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3
>> ,
>>         [4]
>> http://www.buscamp3.org/dl/3473644e636d6f345245/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3
>>     ]
>> }
>>
>> Sem ser one-liner maldito:
>>
>> #!/usr/bin/env perl
>> use common::sense;
>> use Data::Printer;
>> use URI;
>> use Web::Scraper;
>>
>> my $url = URI->new('
>> http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/');
>>
>> p scraper {
>>     process q(//h1/strong),
>>         title => 'text';
>>     process q(//a[@href=~/\\.mp3$/]),
>>         'url[]' => '@href';
>> }->scrape($url, $url);
>>
>> ABS()
>>
>>
>>
>>
>> 2012/10/19 Aureliano Guedes <guedes_1000 em hotmail.com>
>>
>>>  Parece interessante mesmo, mas dificil de entender, principalmente
>>> quando é alguem que como eu não sabe nada de HTML.
>>> Realmente não entendi como faria tudo isso com o Web::Scraper.
>>>
>>> ------------------------------
>>> From: marciodesouzaferreira em gmail.com
>>> Date: Fri, 19 Oct 2012 21:14:53 -0300
>>>
>>> To: rio-pm em pm.org
>>> Subject: Re: [Rio-pm] HTML::Parse
>>>
>>> estou cansado pra implementar, mas o Web::Scraper é tipo um néctar dos
>>> deuses, vc faz um crawler em 5' com ele, bem estilo Perl(que sai da frente
>>> e deixa você focar na solução) isso se o HTML não for um monstrengo =)
>>>
>>> []s,
>>>
>>> Marcio Ferreira
>>> @_marcioferreira
>>> (11) 8567-1482   skype: marcio.ferreir4
>>> marciodesouzaferreira.blogspot.com
>>>
>>>
>>>
>>> 2012/10/19 Rafael Prenzier <rafaelprenzier em gmail.com>
>>>
>>> WWW::Mechanize ++
>>>
>>>
>>> 2012/10/19 Ricardo Filipo <ricardo_filipo em yahoo.com.br>
>>>
>>> Eu gosto do HTML::TreeBuilder pois dá uma visão mais organizada do DOM.
>>>
>>> Veja um exemplo de uso:
>>>
>>> https://github.com/rfilipo/WebService-EBC/blob/master/lib/WebService/EBC/News.pm
>>>
>>>    ------------------------------
>>> *De:* Aureliano Guedes <guedes_1000 em hotmail.com>
>>> *Para:* Rio PM <rio-pm em pm.org>
>>> *Enviadas:* Sexta-feira, 19 de Outubro de 2012 13:22
>>> *Assunto:* [Rio-pm] HTML::Parse
>>>
>>>  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
>>>
>>>
>>> _______________________________________________
>>> Rio-pm mailing list
>>> Rio-pm em pm.org
>>> http://mail.pm.org/mailman/listinfo/rio-pm
>>>
>>>
>>>
>>>
>>> --
>>> Rafael Prenzier dos Santos | Engenheiro e Perl Monger
>>>
>>>  (11) 5209-0847
>>>
>>> www.prenzier.com
>>>
>>> <http://gplus.to/prenzier>  <http://www.facebook.com/rafaelprenzier> <http://twitter.com/prenzier/>
>>>   <http://www.orkut.com.br/Main#Profile?uid=13496291347057199080> <http://cid-eacb613d80ce8dba.profile.live.com/>
>>>   <http://www.delicious.com/rafaelprenzier/> <http://www.google.com/profiles/rafaelprenzier>
>>>   <http://br.linkedin.com/pub/rafael-prenzier-dos-santos/29/6a2/478> <http://www.youtube.com/prenzier>
>>>   <http://www.diigo.com/user/prenzier> <http://www.shelfari.com/rprenzier/shelf>
>>>   <http://flavors.me/prenzier>
>>>  <http://www.diigo.com/user/prenzier>
>>>
>>>
>>>
>>> _______________________________________________
>>> 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
>>>
>>> _______________________________________________
>>> 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
>>
>
>
> _______________________________________________
> 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/20121020/e6113b12/attachment-0001.html>


Mais detalhes sobre a lista de discussão Rio-pm