Korben, roi d’internet, logo bébé avec des lunettes en mode thug life Korben, roi d’internet, logo bébé avec des lunettes en mode thug life

Korben Upgrade your mind

Récupérez le contenu de n’importe quel site avec Web Harvest

Ce matin, je vais vous présent une application un peu hardcore car elle est assez complexe à utiliser mais vraiment unique et magique !

Ça s’appelle Web-Harvest, c’est open source et ça permet en fait d’extraire des informations à partir de pages web de manière automatique.

En gros, ça se connecte sur le site de votre choix et selon le paramètrage que vous lui avez donné, ça peut vous récuperer tout ce que vous voulez sans vous encombrer du html superflu. En effet, lorsque vous voulez parser du contenu à partir de sites, la donnée est souvent noyée au milieu de tout un tas de code html pas terrible à gérer et à nettoyer de manière automatique.

Web-Harvest fonctionne sur le principe suivant : Il récupére le code html des pages que vous avez demandé puis avec un peu de XSL, de Regexp et de XQuery, ressort uniquement la donnée dont vous avez besoin. Je ne vous cache pas que l’idée de la chose, c’est bien d’automatiser du pompage à grande échelle sur des sites web à des fins diverses comme par exemple du benchmark de prix ou de la récupération de contenu multimédia sans API…etc etc

Pour le fun, voici le genre de petit fichier de config à créer. Celui ci récupère une page de photos sur Flickr qui possèdent le tag « Korben »

<?xml version= »1.0″ encoding= »UTF-8″?>

<!–
Expects following initial variables:
tags – tags for saerch on flickr – separated with blanks
num – number of pages with results
–>

<config>
<include path= »functions.xml »/>

<var-def name= »tags » overwrite= »false »>korben</var-def>
<var-def name= »num » overwrite= »false »>1</var-def>

<loop index= »i » item= »url »>
<list>
<var-def name= »imagelinks »>
<call name= »download-multipage-list »>
<call-param name= »pageUrl »><template>http://www.flickr.com/search/?q=${tags}&amp;m=tags</template></call-param>
<call-param name= »nextXPath »>//a[contains(., ‘Next’)]/@hrefs</call-param>
<call-param name= »itemXPath »>//td[@class=’DetailPic’]//img/@src</call-param>
<call-param name= »maxloops »><template>${num}</template></call-param>
</call>
</var-def>
</list>
<body>
<empty>
<file action= »write » path=’flickr/${tags.toString().replaceAll( » « , «  »)}/${i}.jpg’ type= »binary »>
<http url=’${url.toString().replaceFirst(« _m.jpg », « .jpg?v=0 »)}’/>
</file>
</empty>
</body>
</loop>

</config>

Si vous n’avez pas trop mal à la tête, je vous invite à vous pencher dessus, c’est passionnant et c’est en java donc compatible avec toutes les plateformes.

Vous trouverez plus d’infos sur le site de WebHarvest


Comment découper une carte SIM sans la bousiller

vec certains téléphone, ça devient une vraie galère au niveau des cartes SIM. Entre la SIM classique (MiniSIM), la MicroSIM et la NanoSIM, difficile de s’y retrouver et surtout de passer d’une plus grande à une plus petite sans devoir attendre que les opérateurs veuillent bien se donner la peine de vous l’envoyer…

Lire la suite


6 outils pour cloner un disque dur sous Windows et Linux

Cloner c’est facile… Bon, ok, cloner un bébé, c’est déjà plus complexe mais un disque dur, c’est l’enfance de l’art… Alors bien sûr le logiciel le plus connu pour ça, est Ghost de Symantec mais au prix de 999,99 euros HT (j’déconne, je ne connais pas le prix en vrai), c’est déjà plus rentable de se mettre à cloner son petit frère artisanalement dans le garage…

Lire la suite