Vous n'êtes pas identifié(e).

  • Contributions :
  • Vos boîtes de messages privés sont vides.

#1 2014-08-16 20:33:26

Mention smonff
Recruit
Inscription : 2013-11-04
Messages : 5
Site Web

Connaissez-vous WWW::Mechanize ?

WWW::Mechanize est un module Perl disponible sur le CPAN.

WWW::Mechanize, ou Mech pour faire court, est un module Perl dédié à la navigation web programmatique stateful et est utilisé pour l'interaction automatique avec les sites web.

Caractéristiques principales:

  * Supporte toutes les méthodes HTTP
  * Support  haut-niveau des liens et des  formulaires HTML, sans avoir à parser le HTML à la main
  * Supporte SSL
  * Cookies automatiques
  * Headers HTTP habituels
  * Gestion des redirections automatique
  * Proxies
  * Authentification HTTP

Mech est capable de traiter une séquence d'extractions de pages, de suivre des liens et de soumettre des formulaires de façon paramètrée. Chaque page extraite est parsée et ses liens et formulaires sont automatiquement instanciés sous forme d'objets. Un lien ou un formulaires peut être selectionné, les champs de formulaire remplis, et la page suivante atteinte sera à son tour analysée. Mech stocke également un historique des URLs visitées, qui peuvent être requêtées et chargées à nouveau.

Bref, pour faire simple, çà permet d'écrire des bots, de tester des sites, etc.  WWW::Mechanize hérite de LWP::UserAgent, ce qui lui confère une puissance encore plus accrue et permet une manipulation aisée de tous les éléments liés à la navigation, au crawling, etc.

C'est un module très mature (les premières versions remontent à 2002 à ma connaissance) et une création de l'excellent Andy Lester, également inventeur de Ack (un Grep amélioré pour chercher des chaines dans du code source).  Vous l'aurez certainement déjà remarqué dans les logs de vos serveurs, ou le verrez à l'avenir. Il dispose de beaucoup de documentation, de plugins et d'une large communauté de contributeurs.

Il peut être trouvé dans les dépots des principales distributions GNU/Linux sous le nom perl-www-mechanize.

Bref, une belle façon de enfin poster un premier message dans cette section Perl.

Dernière modification par smonff (2014-08-17 13:36:58)

Hors ligne

#2 2014-08-16 20:37:07

Mention Jaffaar
Guardian
Lieu : Marseille
Inscription : 2012-06-01
Messages : 5 353

Développement PHP
Développement JS
Networking SEO
Social Engineering
Site Web

Re : Connaissez-vous WWW::Mechanize ?

Yes ! Bien joué Smonff wink

Ce premier partage me parait fort intéressant.

Dis moi PERL est natif sur apache non ?


⌕ Tu veux Ranker ?
⏩ Actives le mode automatique : SEO Quartz             
⏩ Profite d'un consultant SEO (sur Marseille ou sur Skype => jaffaarbh )
⏩ Tu veux des techniques concrètes ? SEO Basics Skills - SEO Ranking Skills

Hors ligne

#3 2014-08-16 20:59:35

Mention smonff
Recruit
Inscription : 2013-11-04
Messages : 5
Site Web

Re : Connaissez-vous WWW::Mechanize ?

Perl est installé sur tous les Unix-like par defaut (GNU/Linux, BSD, OS-X, etc.). En ce qui concerne Apache, il y a en effet un mod_perl  qui est décrit par la fondation Apache comme le mariage entre Apache et Perl.

Cependant, il faut faire gaffe à quelques trucs :

  * ce mod_perl peut être rattaché à de des anciennes et mauvaises pratiques qui ont forgé une réputation douteuse à ce language (notamment CGI.pm, qui même si il est un module mythique, ne devrait plus être utilisé  aujourd'hui)
  * attention à ne pas utiliser des versions anciennes de Perl en se contentant d'utiliser la version systeme de Perl (5.12 encore bien souvent, alors que la dernière version stable actuelle est la 5.20)
  * l'installation d'une version récente de Perl et de modules supplémentaires est triviale. Il existe également une possibilité très ingénieuses d'installer des modules sans avoir des droits d'administrateur, même sur un serveur mutualisé, ce qui, dans le cas de Perl est  essentiel car une de ses forces est la possibilité d'utiliser les quelques  137 394 modules présents sur le CPAN et ne pas avoir ainsi à réinventer la roue 3 fois par jour.

Hors ligne

#4 2014-08-17 12:48:09

Mention berserk
Scout
Lieu : Paris
Inscription : 2012-12-25
Messages : 259
Site Web

Re : Connaissez-vous WWW::Mechanize ?

Merci pour le partage je vais tester

Hors ligne

#5 2014-08-21 08:23:13

Mention conquering_lion
Scout
Inscription : 2013-05-23
Messages : 199

Re : Connaissez-vous WWW::Mechanize ?

hello hello
mechanize est une super librairie (également présente pour python et pour ruby)
à ceci près qu'elle ne gère pas les tâches complexes on-page du style javascript, jquery etc
mais sinon pour du scrap basic et autres automatisations, ca gère du tonnerre !

autre point positif avec mechanize, on peut changer le user agent (limité à une dizaine différents de mémoire) ..

voilà voilà smile

Hors ligne

Pied de page des forums