12.20.06
Posted in inet, university, unix at 4:01 pm by brainstorm
En el post anterior comentava alguns mòduls que ens poden fer la vida més fàcil si volem extreure dades d’una web de forma automàtica. Em vaig oblidar però de mencionar l’extensió del firefox LiveHttpHeaders, sant grial de l’spidering que vaig descobrir gràcies a l’esteve. Si resulta que la pàgina només carrega amb explorer, podeu provar sort amb IEHttpHeaders o Fiddler.
També en el post anterior vaig deixar en suspens les raons que em van portar a mirar-me tots aquests móduls. Doncs bé, saludo des d’aqui a Jordi, que em va picar prou com per fer un feed dels PFCs de la facultat usant els mòduls que vaig explicar, ell ja en sap els motius 
Read the rest of this entry »
Permalink
Posted in inet, software, unix at 3:09 pm by brainstorm
Fa un temps que sóc aficionat a fer scripts que fan screen scraping (web spidering). Els meus primers tantejos van ser amb el fantàstic mòdul LWP. Amb una mica de paciència, fent GETs i POSTs on tocava, url-encodejant i en alguns casos usant un grapat d’expressions regulars podia extreure les dades d’una pàgina web i mostrar-les en el format que m’interessava, emmagatzemar-les en una BD, etc…
Un bon dia vaig descobrir una altra perla interessant a CPAN: WWW::Mechanize, que es comporta com un navegador (sense javascript). Alguns mètodes de l’API són:
$mech->follow( $link );
$mech->click( $button );
$mech->set_fields( %field_values );
$mech->back();
Com podeu veure no és necessària una llarga explicació (imho), el seu comportament és el que us podrieu trobar en qualsevol navegador. Aquest mòdul ens simplifica força les accions que podem fer en el navegador, però el parseig l’hem de fer a mà igualment… fins que un bon dia, apareix a la meva vida en Template::Extract 
Read the rest of this entry »
Permalink