Hey Jungs und Damen zuerst ist dies meine erste Frage hier in stackoverflow also sei nicht so schwer auf mich .. aber w/e: P. Ich habe ein Problem .. Ich bin völlig neu im Web Scraping und im Moment habe ich das Problem, dass ich nicht die richtigen Elemente auswählen kann. Mein Code sieht wie folgt aus:Cheerio direkte Kindwähler
var express = require('express');
var path = require('path');
var request = require('request');
var cheerio = require('cheerio');
var fs = require('fs');
var app = express();
var port = 8000;
var url = "http://www.finanzparasiten.de/html/links/awd.html";
request(url, function (err, resp, body) {
if(!err) {
var $ = cheerio.load(body)
var test = $('body table table table > tbody > tr > td > p');
console.log(test.html())
test.each(function (ii, asdf) {
var rr = $(asdf).find("table").find("tr").first().find('td:nth-child(2)').text();
console.log(asdf);
})
} else {
console.log("we encountered an error: " + err);
}
});
app.listen(port);
console.log('server is listening on ' + port);
Es Protokollierung NULL für die Variable Test hält. Es scheint, als hätte cheerio Probleme mit dem> Selektor. Mit jQuery würde diese Auswahl wie erwartet funktionieren.
Dank @ Logols anwser konnte ich das erste Problem lösen, aber jetzt habe ich das Problem, dass ich direkte Kinder nach Körper auswählen muss und es scheint zu Bug als der tbody .. any1 hat einen Workaround?
wow das scheint zu funktionieren: O danke, könnte es möglich sein, dass Körper auch nicht erkannt wird? z.B. body> div: last-of-type scheint auch fehlgeschlagen –
Ich spielte ein bisschen herum und manchmal funktioniert es manchmal nicht .. siehe user3366016 tiefere Untersuchung – John