Seite 1 von 1

Radio-Playlist scrapen

Verfasst: Samstag 6. Januar 2018, 13:46
von rookie_alex
Liebe Community-Experten,

ich komme mit einem Programmierproblem einfach nicht weiter, ich habe schon unzählige Stunden mit Recherchieren und Probieren verbracht, bitte gebt mir einen Tip:

Ich möchte den gerade gespielten Song einer Radiostation auslesen, die gewünschte Information kann ich im Inspektor von Firefox auch sehen, ich bekomme sie aber einfach nicht ausgelesen. Offensichtlich verhält sich der Browser anders als der Parser. Ich kann auch nicht erkennen, wo die Information herkommt und ob man sie vielleicht per json abholen kann.

Hier ist mein kurzer Code, der bei ähnlichen Sachen auch gut funktioniert

Code: Alles auswählen

from bs4 import BeautifulSoup
import urllib
import html5lib
r = urllib.request.urlopen('https://www.kissfm.de/programm/trackfinder/')
soup = BeautifulSoup(r, "html5lib")
print (soup.prettify()[0:32000])
resultlist = soup.find_all("div", {'class': 'info'})
print(len(resultlist))
ergebnis = 0
i = 0
while i < len(resultlist):
    print(resultlist[i])
    i = i + 1
Bin für jeden Hinweis dankbar, herzlichen Dank im Voraus - Alex

Re: Radio-Playlist scrapen

Verfasst: Samstag 6. Januar 2018, 14:20
von __deets__
Habe ich dir doch schon im letzten Postingserklärt. Du musst den Network Tab deines Browser Debuggers bemühen, und dort nach dem Netzwerkverkehr schauen. Da findet sich dann auch der Aufruf zur Aktualisierung der Playlist.

Re: Radio-Playlist scrapen

Verfasst: Samstag 6. Januar 2018, 14:30
von rookie_alex
@__deets___ ja, Dankeschön, ist sicher der richtige Ansatz, ich verstehe den Mechanismus aber beim besten Willen nicht, finde keinen entsprechenden Link........

Re: Radio-Playlist scrapen

Verfasst: Samstag 6. Januar 2018, 14:32
von __deets__
Du musst mit Rechtsklick auf inspect element oder sowas ähnliches gehen, und dann in dem sich öffnenden die Debugger-Fenster nach einem Tab gucken welches Network oder so heißt. Und dazu kann man sich auch Hilfe zurecht googeln denke ich mal.

Re: Radio-Playlist scrapen

Verfasst: Samstag 6. Januar 2018, 14:36
von rookie_alex
Ja, Dankeschön, ich werd mich erst mal mit meinem Browser befassen.....

Re: Radio-Playlist scrapen

Verfasst: Samstag 6. Januar 2018, 16:10
von pixewakb
Am Thema bin ich auch interessiert! Die Website, die du parsen willst, besteht (fast) nur aus JS. Das, was du im Browser siehst, ist das, was der Browser aus den JS-Sachen macht, so weit ich das verstanden habe. Eigentlich hätte ich zu selenium geraten, was ich hier normalerweise genutzt hätte.

Zu der Sache, die __deets__ gemeint hat, habe ich folgendes gefunden, das ich mir auch aktuell ansehe:

https://egghead.io/lessons/tools-analyz ... e-devtools

Ist nützlich. Ich konnte damit gerade bei einer Seite feststellen, wie die Daten geladen werden. Danke vielmals!!!

Re: Radio-Playlist scrapen

Verfasst: Montag 8. Januar 2018, 00:28
von pixewakb
Ich habe es bei einer Seite, mit der ich häufiger zu tun hatte, mal getestet und ich kann mit den Sachen, die ich so finde, keine funktionierende Anfrage schicken. Ich kann mir vorstellen, dass ich noch ein Cookie mitschicken muss, jedenfalls ist bei Webseiten in der freien Wildbahn - meine Meinung - auch mit der Konsole eine analoge saubere Anfrage nicht so einfach möglich.

@ThreadStarter: Schau dir auch mal Selenium an, falls du nicht weiterkommst. Das ist nicht unkompliziert, kann aber ganz brauchbare Lösungen liefern. Ich habe dazu mal einen Kurzvortrag o. ä. gesehen.