- Vérifier des liens
- Extraire des informations d'une page
Ces traitements de parsing sont toujours un peu délicats et très dépendants de la page à traiter.
Ces opérations se font à coup d'expression régulière avec des contorsions pour traiter les balises ouvrantes et fermantes.
Avec jsdom il est maintenant possible d'utiliser la puissance de jquery coté serveur.
La puissante de la meilleure librairie javascript cliente sur un serveur node.js
Ci dessous quelques exemples: jQuery peut etre lu à partir d'un fichier local, ou téléchargé. Pour le premier exemple la page html à traiter est lue en local , dans l'exemple suivant la page est récupérée à distance.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
links = []; | |
jquery = fs.readFileSync("./jquery.js").toString(); | |
pageHTML = fs.readFileSync(nomf, 'ascii'); | |
jsdom.env({ | |
html: pageHTML, | |
src: [jquery], | |
done: function(err, window) { | |
var $; | |
$ = window.$; | |
console.log("eg jquery"); | |
console.log("nombre de lien :" + $("a").length); | |
cpaverifier = $("a").length; | |
if (cpaverifier > 0) { | |
$("a").each(function() { | |
return links.push($(this).attr("href")); | |
continuation... | |
autre exemple: appel d une page | |
jsdom.env({ | |
html: "http://localhost:8888" + talink, | |
src: [jquery], | |
done: function(err, window) { | |
continuation ... | |
Tous les sélecteurs jQuery sont utilisables.
JSDOM vous permettra aussi de créer des nouveaux documents, enfin il peut servir comme modificateur de code HTML au sein d'un reverse_proxy.
Les exemples complets sont sur lemon-labs.
Aucun commentaire:
Enregistrer un commentaire