Schwierigkeit mit bs4

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Rednaxelarekced
User
Beiträge: 17
Registriert: Mittwoch 6. März 2019, 22:04

Hallo zusammen

ich habe mal wieder ein Problem
ich versuche ein paar Daten aus einer Webseite auszulesen.

ich habe bs4 importiert, es werden mir aber keine Methoden zur verfügung gestellt.

ich nutze Pycharme, in den site-packages ist bs4 vorhanden

Code: Alles auswählen

import bs4
import requests


url = 'https://www.boerse.de/realtime-kurse/Dax-Aktien/DE0008469008'


seite = requests.get(url)


if seite.status_code != 200:
    print("Seite konnte nicht geladen werden ", url)
else:
   
    bs4_seite = bs4.BeautifulSoup(seite.content, "html.parser")


tabelle = bs4.find('table', {'id': 'pushlist'})

body = tabelle.find('tbody')
aktien_zeieln = body.find_all('tr')

print(aktien_zeieln)
Fehlermeldung

Code: Alles auswählen

line 31, in <module>
    tabelle = bs4.find('table', {'id': 'pushlist'})
AttributeError: module 'bs4' has no attribute 'find'


vielen Dank schonmal für die Hilfe
Sirius3
User
Beiträge: 18260
Registriert: Sonntag 21. Oktober 2012, 17:20

`bs4` hat ja auch kein `find`, sondern nur die BeautifulSoup-Instanz `bs4_seite`.
Deine Fehlerbehandlung ist fehlerhaft, denn wenn seite.status_code != 200 ist, dann ist bs4_seite nicht definiert und Du läufst zwei Zeilen später in einen NameError.
Was ist ein `zeieln`?
Rednaxelarekced
User
Beiträge: 17
Registriert: Mittwoch 6. März 2019, 22:04

Alles klar das hab ich verstanden !

super danke für die Antwort
Antworten