Webseiten Code auslesen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Den Quellcode einer Website kannst mit Node.js-Bordmitteln über http.get anfordern, mittels .split('\n') kannst du die erhaltenen Daten anschließend anhand der Zeilenumbrüche in ein Array aufspalten und über [x] bekommst du letztendlich den Inhalt der gewünschten Zeile. Einschließlich Überprüfung auf korrekten HTTP-Statuscode (200) sähe der Node.js-Code dann folgendermaßen aus:

    JavaScript-Quellcode

    1. const http = require('http')
    2. http.get('http://nodeforum.de/', (res) => {
    3. if (res.statusCode !== 200) {
    4. console.error(new Error(`Request Failed.\n` + `Status Code: ${res.statusCode}`))
    5. // consume response data to free up memory
    6. res.resume()
    7. return
    8. }
    9. res.setEncoding('utf8')
    10. var data = ''
    11. res.on('data', (chunk) => { data += chunk })
    12. res.on('end', () => {
    13. var lines = data.split('\n')
    14. console.log(lines[426])
    15. })
    16. }).on('error', (e) => {
    17. console.error(`Got error: ${e.message}`)
    18. });
    Alles anzeigen
    Falls dir der Umgang mit der HTTP-API zu umständlich ist kannst du Alternativ auch per npm install request das request-Modul installieren wodurch dir eine abstraktere und deutlich einfachere Schnittstelle zur Verfügung steht:

    JavaScript-Quellcode

    1. const request = require('request')
    2. request('http://nodeforum.de/', (err, res, body) => {
    3. if (err) return console.error(err)
    4. if (res.statusCode !== 200) return console.error('Wrong Status Code: ' + res.statusCode)
    5. var lines = body.split('\n')
    6. console.log(lines[426])
    7. })
    Beachte dass in JavaScript wie in den meisten anderen Programmiersprachen auch Arrays von der 0 an gezählt werden, um die Zeile 427 zu bekommen musst du also die Array-Position 426 auslesen.
    Grüße,
    NodeCode

    NodeCode.de
  • NodeCode schrieb:

    Den Quellcode einer Website kannst mit Node.js-Bordmitteln über http.get anfordern, mittels .split('\n') kannst du die erhaltenen Daten anschließend anhand der Zeilenumbrüche in ein Array aufspalten und über [x] bekommst du letztendlich den Inhalt der gewünschten Zeile. Einschließlich Überprüfung auf korrekten HTTP-Statuscode (200) sähe der Node.js-Code dann folgendermaßen aus:

    JavaScript-Quellcode

    1. const http = require('http')
    2. http.get('http://nodeforum.de/', (res) => {
    3. if (res.statusCode !== 200) {
    4. console.error(new Error(`Request Failed.\n` + `Status Code: ${res.statusCode}`))
    5. // consume response data to free up memory
    6. res.resume()
    7. return
    8. }
    9. res.setEncoding('utf8')
    10. var data = ''
    11. res.on('data', (chunk) => { data += chunk })
    12. res.on('end', () => {
    13. var lines = data.split('\n')
    14. console.log(lines[426])
    15. })
    16. }).on('error', (e) => {
    17. console.error(`Got error: ${e.message}`)
    18. });
    Alles anzeigen
    Falls dir der Umgang mit der HTTP-API zu umständlich ist kannst du Alternativ auch per npm install request das request-Modul installieren wodurch dir eine abstraktere und deutlich einfachere Schnittstelle zur Verfügung steht:

    JavaScript-Quellcode

    1. const request = require('request')
    2. request('http://nodeforum.de/', (err, res, body) => {
    3. if (err) return console.error(err)
    4. if (res.statusCode !== 200) return console.error('Wrong Status Code: ' + res.statusCode)
    5. var lines = body.split('\n')
    6. console.log(lines[426])
    7. })
    Beachte dass in JavaScript wie in den meisten anderen Programmiersprachen auch Arrays von der 0 an gezählt werden, um die Zeile 427 zu bekommen musst du also die Array-Position 426 auslesen.
    Ich habe noch ein Problem. Die Seite (umwelt.sachsen.de/) hat nicht http, sondern https. Gibt es da eine Lösung für?