Quel language pour extraire des informations d'une page web

Thelann Messages postés 1 Statut Membre -  
 Thelann -
Bonjour à toutes et à tous,

Afin d'automatiser mes tâches, je souhaite créer un petit executable me permettant d'extraire des données d'une page Web. Plus précisemment, je travaille avec un CRM appelé SalesForce, et l'idée serait de pouvoir dupliquer facilement en local la base de données contenue dans ce CRM. Je ne peux malheureusement pas faire appel aux fonctions d'export car je souhaite que chaque utilisateur puisse garder une version locale de sa base, et certains n'ont pas les droits nécessaires.

Dans ce cadre, je souhaiterais savoir quel(s) language(s) vous semble le plus adapté. Je touche principalement au C, mais il me semblerait logique de faire appel à un language orienté Web (php/Javascript). Je n'en connais que peu mais je suis disposée à y passer du temps sans problème.

Je suis à votre disposition pour toute info complémentaire =).

A voir également:

1 réponse

[Dal] Messages postés 6373 Statut Contributeur 1 106
 
Salut Thelann,

En Perl, cela peut être aussi simple que :

#!/usr/bin/perl -w
use strict;
use LWP::Simple;
use HTML::TreeBuilder::XPath;

# récupère la page d'accueil de CCM
my $page = get('http://www.commentcamarche.net/');
# récupère le titre des dernières astuces
my $tree = HTML::TreeBuilder::XPath->new;
$tree->parse_content($page);
for my $articles ($tree->findnodes(q{//div[@class="middleBox first"]}))
{
    for my $article ($articles->clone->findvalues(q{//a}))
    {
        print $article . "\n";
    }
}

Dal
1
[Dal] Messages postés 6373 Statut Contributeur 1 106
 
Note que Perl est un langage interprété. Ce type de script est donc exécuté par l'interpréteur perl (après avoir installé les modules LWP::Simple et HTML::TreeBuilder::XPath avec CPAN).

Donc tu n'auras pas un "petit executable" comme tu dis. Mais je suppose que cela ne te gène pas véritablement, car tu cites d'autres langages interprétés "php/Javascript").


Dal
0
Thelann
 
En effet, je suis partie sur le principe du petit exécutable, mais d'autres options sont bien sûr envisageables. Je ferais un joli ReadMe =).

Merci pour l'info, je vais tenter.

Tschüss !!
0
[Dal] Messages postés 6373 Statut Contributeur 1 106
 
Sous Perl, fait ta documentation en POD dans les sources. Des exemples là : https://woufeil.developpez.com/tutoriels/perl/pod/ et là : http://perl.mines-albi.fr/DocFr/perlpod.html

Si tu fais beaucoup de requêtes, LWP::UserAgent; est plus complet et rapide que LWP::Simple; (tu trouves plein d'exemples d'utilisation sur le Net).

Si tu tiens à ton petit exécutable et que tu pratiques le C, tu as libxml2 (du projet Gnome, je ne l'ai jamais utilisé, mais on en dit du bien), qui sait aussi évaluer des expressions XPath. Tu pourras utiliser libcurl pour récupérer les pages (qui marche très bien).

http://xmlsoft.org/
https://curl.se/libcurl/c/

Cela ne sera pas vraiment fait en 2 minutes comme avec Perl, mais c'est un choix :-)


Dal
0
Thelann
 
Pour mon utilisation perso, je passerais probablement directement par l'interpréteur.
Si les collègues galèrent, alors j'aviserais. Je me doutais bien que des projets devaient déjà être en cours. Mais nous n'y sommes pas encore.

Merci encore, c'est apprécié.
0