Sofern die Datei package.json in gültigem Format im Wurzelverzeichnis der Applikation liegt ist eine Reinstallation aller Module mit dem löschen des node_modules Ordner im Wurzelverzeichnis und dem Ausführen von

npm install

erledigt.

Info:
node.js NPM installiert, sofern der Parameter -g (global) NICHT angegeben wird, alle Module in den Ordner node_modules im Wurzelverzeichnis der aktuellen Applikation.

Keine Kommentare »
 

Das einfache Verarbeiten von Inhalten auf Internetseiten in der node.js Umgebung ist bequem mit dem Modul cheerio möglich. Hierbei läd man die Webseite wie gewohnt mit einem der verfügbaren HTTP Module. Injiziert nun zusätzlich die jQuery Bibliothek und läd den DOM in das jQuery Module. Ab diesem Punkt ist es möglich auf alle Elemente der Internetseite mit den gewohnten jQuery Funktionen zu bearbeiten bzw. Inhalte zu extrahieren.

Das Beispielskript sollte copy & paste funktionieren. 🙂

#!/usr/bin/env node
'use strict';
 
var http = require('http');
var cheerio = require('cheerio');
 
// socket timeout
var myTimeout = 100;
 
// on error
var err = function(e) {
	console.log(e)  
}
 
// used to set socket timeout
var timeout = function(socket) {
    socket.setTimeout(myTimeout);  
    socket.on('timeout', function() {
        req.abort();
    });
}
 
var req = http.get({host: 'example.com', port: 80, path: '/'}, function(res) {
 
    var html = '';
 
    // executed if part of data comes in
    res.on('data', function(data) {    
    	html += data;
 
    // executed if all data received
    }).on('end', function() {
 
        // check HTTP status / errors   	
	 console.log(res.statusCode);
 
	// load jquery (cheerio) to your received HTML document
	var $ = cheerio.load(html);
 
	// *** JQUERY LIKE CODE ***	  
	// use code like in browser
	$('h1').each(function() {
	    console.log($(this).text());
	});
     });
}).on('error', err).on('socket', timeout);

Alternativ kann natürlich auch ein synchroner HTTP Client verwendet werden.

Vorher die Installation des cheerio Moduls in der Shell nicht vergessen:

npm install cheerio
Keine Kommentare »