<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body><div>Concordo com o Tiago. Regras como "SEMPRE" e "NUNCA" são como rodinhas de bicicleta, com experiência e maturidade viram em geral "em situações típicas, PREFIRA" ou "em situações típicas, EVITE" e cabe ao profissional avaliar, e cada caso é um caso. <br></div>
<div> </div>
<div>curl -s <a href="http://gooogle.com">http://gooogle.com</a> | grep -i '<TITLE>301 Moved</TITLE>' > /dev/null && echo "yeah title says it moved" || echo "not the title you're looking for"<br></div>
<div> </div>
<div>Se eu tiver um oneliner, ou script descartável, tipo isso aí em cima, e alguém me sugerir um parser, eu vou rir e é muito! rsrs <br></div>
<div> </div>
<div>Se servir de consolo, pensem (puristas e teóricos de plantão) que existem situações em que é melhor resolver um problema mal e porcamente hoje, e sobreviver, do que uma solução bonita e elegante daqui a um mês, e não ter um segundo mês de sobrevida para usar ou levar o projeto adiante. <br></div>
<div> </div>
<div>Veja também: technical debt.<br></div>
<div> </div>
<div> </div>
<div>On Wed, Apr 3, 2013, at 02:00 PM, Tiago Peczenyj wrote:<br></div>
<blockquote type="cite"><div dir="ltr">Eu posso e faço :P<br></div>
<div><div> </div>
<div> </div>
<div><div>2013/4/3 Andre Carneiro <span dir="ltr"><<a href="mailto:andregarciacarneiro@gmail.com" target="_blank">andregarciacarneiro@gmail.com</a>></span><br></div>
<div> </div>
<blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>Não, não pode!<br></div>
<div> </div>
<div>Evite esse tipo de atitude o máximo possível!<br></div>
<div> </div>
<div>Eu 'posso' jogar gasolina em um programador PHP e tocar fogo. Mas não é porque eu 'posso' que signfica que eu farei.<br></div>
<div><div> </div>
<div>Por favor, não use regex para parsear HTML!! Se o HTML estiver porco o suficiente para não ser parseado, é muito provável que não valha a pena parsea-lo!<br></div>
<div> </div>
<div>Se for realmente necessário, e não tiver jeito, faça! Mas acho difícil chegar nesse ponto! Pelo menos os links dá pra pegar. Até com o WWW::Mechanize dá pra pegar!<br></div>
<div> </div>
<div>Em 99,99999% dos casos é desnecessário...<br></div>
<div> </div>
<div> </div>
<div>Cheers!<br></div>
<div><div> </div>
<div><div><div><div> </div>
<div> </div>
<div><div>2013/4/3 Tiago Peczenyj <span dir="ltr"><<a href="mailto:tiago.peczenyj@gmail.com" target="_blank">tiago.peczenyj@gmail.com</a>></span><br></div>
<div> </div>
<blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">IMHO vc pode sim usar regex para parserar html SE<div> </div>
<div>1) a estrutura do html for porca (tipo cheio de tag q não fecha ou coisas q não façam muito sentido)<br></div>
<div>2) a estrutura (quase) nunca mudar (e vc procura uma string X como "APROVADO" ou "ERRO)<br></div>
<div><div>3) vc está desesperado<br></div>
<div> </div>
<div>Mas para cada ponto que vc pode usar, existem muitos argumentos contra. vc até pode usar como um complemento ao seu parser mas se basear SÓ nisso, como criterio geral, é furada.<br></div>
<div> </div>
<div> </div>
<div><div><div>2013/4/3 Marcio Ferreira <span dir="ltr"><<a href="mailto:marciodesouzaferreira@gmail.com" target="_blank">marciodesouzaferreira@gmail.com</a>></span><br></div>
<div> </div>
<blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Desculpe a pressa em responder, o e-mail anterior, alguns pontos que podem ser tocados:<div> </div>
<div>




o Web::Scraper, ~força~ que vc faça a ~configuração~ da sua navegação, assim vc de fato se concentra no seu problema e esquece o resto.<br></div>
<div>o Mojo::DOM é muito amigavel, ele cria de fato um objeto pra vc navegar no seu DOM, isso é legal!<br></div>
<div> </div>
<div>NUNCA USE REGEX PRA PARSER DE HTML<br></div>
<div><a href="http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags?page=1&tab=votes#tab-top" target="_blank">http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags?page=1&tab=votes#tab-top</a>







<br></div>
<div> </div>
<div>Porque nao gosto do HTML::TreeBuilder: vc precisa fazer linha a linha seus "findnodes" e compor seu objeto na mao, frente a soluções como Web::Scraper e Mojo::DOM, acho que ele ficou pra trás. =/<br></div>
<div> </div>
<div><div>**Quando digo HTML::TreeBuilder, me refiro ao HTML::TreeBuilder::XPath mesmo =P<br></div>
<div><div> </div>
<div><div> </div>
<div>[]s,<br></div>
<div> </div>
<div>Marcio Ferreira<br></div>
<div> </div>
<div>

skype: marcio.ferreir4<br></div>
<div><a href="tel:%2821%29%208365-7768" target="_blank">(21) 8365-7768</a><br></div>
</div>
<div> </div>
<div> </div>
</div>
<div><div>2013/4/3 Nuba Princigalli <span dir="ltr"><<a href="mailto:nuba@fastmail.fm" target="_blank">nuba@fastmail.fm</a>></span><br></div>
<blockquote style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div><div><div><div><div>


<u></u>




<br></div>
<div><div><div>On Wed, Apr 3, 2013, at 01:17 PM, Marcio Ferreira wrote:<br></div>
<blockquote type="cite"><div dir="ltr"><div>Também há o HTML::TreeBuilder (mas um pouco mais complicado de "gerenciar" o workflow).<br></div>
</div>
</blockquote><div> </div>
</div>
<div>Já usei e recomendo o <a href="https://metacpan.org/module/HTML::TreeBuilder::XPath" target="_blank">https://metacpan.org/module/HTML::TreeBuilder::XPath</a><br></div>
<div> </div>
<div><div>--<br></div>
<div>Nuba R. Princigalli  <a href="mailto:nuba@pauleira.com" target="_blank">nuba@pauleira.com</a>  <a href="http://pauleira.com" target="_blank">http://pauleira.com</a>  @nprincigalli<br></div>
<div>Discipline is not an end in itself, just a means to an end. - King Crimson<br></div>
<div> </div>
</div>
</div>
<div> </div>
</div>
</div>
</div>
</div>
<div><div>_______________________________________________<br></div>
<div>
Rio-pm mailing list<br></div>
<div>
<a href="mailto:Rio-pm@pm.org" target="_blank">Rio-pm@pm.org</a><br></div>
<div>
<a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br></div>
</div>
</blockquote></div>
<div> </div>
</div>
</div>
<div> </div>
<div>_______________________________________________<br></div>
<div>
Rio-pm mailing list<br></div>
<div>
<a href="mailto:Rio-pm@pm.org" target="_blank">Rio-pm@pm.org</a><br></div>
<div>
<a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br></div>
</blockquote></div>
<div> </div>
<div> </div>
<div><span><span class="colour" style="color:rgb(136, 136, 136)"><div> </div>
-- </span></span><br></div>
<div><span><span class="colour" style="color:rgb(136, 136, 136)">Tiago B. Peczenyj</span></span><br></div>
<div><span><span class="colour" style="color:rgb(136, 136, 136)">Linux User #405772</span></span><br></div>
<div><span><span class="colour" style="color:rgb(136, 136, 136)">

<br><a href="http://about.me/peczenyj" target="_blank">http://about.me/peczenyj</a>
</span></span></div>
</div>
</div>
</div>
<div> </div>
<div>_______________________________________________<br></div>
<div>
Rio-pm mailing list<br></div>
<div>
<a href="mailto:Rio-pm@pm.org" target="_blank">Rio-pm@pm.org</a><br></div>
<div>
<a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br></div>
</blockquote></div>
<div> </div>
<div> </div>
<div> </div>
<div>-- <br></div>
</div>
</div>
<div>André Garcia Carneiro<br></div>
<div>

Software Engineer<br></div>
<div>
<a href="tel:%2811%29982907780" target="_blank">(11)982907780</a>
<br></div>
</div>
</div>
</div>
<div> </div>
<div>_______________________________________________<br></div>
<div>
Rio-pm mailing list<br></div>
<div>
<a href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a><br></div>
<div>
<a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br></div>
</blockquote></div>
<div> </div>
<div> </div>
<div> </div>
<div>-- <br></div>
<div>Tiago B. Peczenyj<br></div>
<div>Linux User #405772<br></div>
<div> </div>
<div><a href="http://about.me/peczenyj" target="_blank">http://about.me/peczenyj</a>
<br></div>
</div>
<div><u>_______________________________________________</u><br></div>
<div>Rio-pm mailing list<br></div>
<div><a href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a><br></div>
<div><a href="http://mail.pm.org/mailman/listinfo/rio-pm">http://mail.pm.org/mailman/listinfo/rio-pm</a><br></div>
</blockquote><div> </div>
<div id="sig1112304"><div class="signature">--<br></div>
<div class="signature">Nuba R. Princigalli  nuba@pauleira.com  http://pauleira.com  @nprincigalli<br></div>
<div class="signature">Discipline is not an end in itself, just a means to an end. - King Crimson<br></div>
<div class="signature"> </div>
</div>
</body>
</html>