Web scraping code funktioniert nicht?
Hallo, ich mache gerade ein YT-Tutorial über Webscraping (mit Node.js) und wollte ausprobieren ob ich es auch selbst kann. Kurz - Nein. Ich habe alles gemacht wie im Video, nur dass ich die Url und die class geändert habe. Als ich es genau wie im Video gemacht hatte, hat noch alles funktioniert. Der server funktioniert wie gehabt, nur dass der Titel nicht ausgegeben wird. Hier ist mein code:
const PORT = 8000
const axios = require('axios')
const cheerio = require('cheerio')
const express = require('express')
const app = express()
const url = 'https://www.oefb.at/Profile/Spieler/1028138?Lorenz-Maurer'
axios(url)
.then(response => {
const html = response.data
const $ = cheerio.load(html)
let title = $('.title_subtitle_nav_1').text();
console.log(title)
}).catch(err => console.log(err))
app.listen(PORT, () => console.log(`server running on PORT ${PORT}`) )
1 Antwort
Es gibt zwei Elemente mit der Klasse "title_subtitle_nav_1" - kann es ggf. daran liegen? Ansonsten wird hier scheinbar viel mit Platzhaltern gearbeitet - möglich das der Inhalt den du auslesen möchtest erst später mittels JavaScript gerendert wird und in dem Moment deines scrapings noch gar nicht existiert?
Hallo, ja das war das Problem, die class existiert 2x. Wie beziehe ich mich dennoch auf genau das Element, es ist ja keine ID dabei?