Ich versuche npm Anfrage und cheerio zu verwenden, um Webseiten zu ziehen und ihre HTML zu analysieren. Dies funktioniert in Fällen, in denen der HTML-Code auf Anfrage geladen wird. Aber ich habe ein Problem, bei dem die Seite zuerst einen Ladebildschirm lädt und dann die Seite nach einigen Augenblicken mit neuen Informationen/Elementen aktualisiert.npm Anfrage warte vor dem Lesen Körper
Teilcode:
var url = 'website with loading screen prior to content.com';
var request = require('request');
request(url, function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body) // Show the HTML for the Google homepage.
}
})
Was würde Ich mag - Entweder Anfrage für ein bestimmtes Element zu warten, mit der Fähigkeit, auf der Seite zu zeigen, und dann den Körper zu lesen. OR Lage sein, eine feste Anzahl von Sekunden zu warten und dann lesen Sie den Körper
Andere Optionen - Es ist vielleicht nicht möglich sein, mit npm Anfrage, was in Ordnung ist. Wenn das der Fall ist, können Sie mir bitte in die richtige Richtung zeigen. Meine anderen Optionen, die ich in Betracht ziehe, sind webdriver.io oder phantomjs. Gibt es dafür eine empfohlene Vorgehensweise?
Danke, ich hatte Phantomjs als eine mögliche Option in meiner Frage aufgeführt. Am Ende habe ich es mit großem Erfolg benutzt. –
@alex_milhouse cool. Es ist ein gutes Paket. – jordanwillis