Quantcast
Channel: Kodinerds.net - Deutschsprachiges Forum zum Kodi Entertainment Center
Viewing all articles
Browse latest Browse all 87137

Add on Idee zur Ermittlung von Staffel- und Episodennummern

$
0
0
Hallo zusammen,

mir geht es darum aus den Informationen, die im Dateinamen stehen übers Internet die restlichen Informationen zur Episode zu erhalten.
Da ich selbst Serien über Kodi aufnehme und im Format *.ts bleiben möchte, habe ich leider keine vollständigen Informationen.

Die Dateinamen meiner aufgenommenen Serien sehen so aus:

[Serienname]__[Sender]__[Datum]__[Uhrzeit].ts

Mit diesen 4 Blöcken kann man die Folge ohne epg Daten ermitteln.

Hab das mal über ein Pyton Skript probiert, was auch im groben funktioniert:

Über ein Python Skript bereite ich diese 4 Blöcke auf und suche im Internet auf fernsehserien.de/ nach dem Sendetermin.
Wenn ich den Sendetermin finde, lese ich mir den Episodentitel aus, sowie die Staffelnummer und Episodennummer.

In EMM müsste die Ausgangsformatierung (Datei Schema )der Serien Datei in Inhalt und Reihenfolge angegeben werden, damit gesucht werden kann.

Hier nun der Block aus dem Python Skript, der zur Ermittlung der Informationen von fernsehserien.de/ genutzt wird:
Hierbei werden die oben genannten 4 Blöcke verwendet zur Erkennung und eine festgelegte Anzahl von Seiten, die durchgesucht werden sollen.


Python-Quellcode

  1. for i in range(1, AnzahlSeitendurchsuchen):
  2. if EpisodeGefunden == 0:
  3. InternetSeite = "http://www.fernsehserien.de/" + gesuchteSerie + "/sendetermine/-" + str(i)
  4. # -1 bix -x immer früheres datum
  5. page = requests.get(InternetSeite)
  6. soup = BeautifulSoup(page.content, 'html.parser')
  7. if soup.find("div", {"class": "print-title"}).text == "Fehler 404":
  8. else:
  9. trs = soup.find_all("tr")
  10. for tr in trs:
  11. try:
  12. Datum = tr.find("td", {"class": "sendetermine-datum"}).text
  13. if Datum == gesuchtesDatum:
  14. Sender = tr.find("td", {"class": "sendetermine-sender"}).text
  15. Sender = str(Sender).lower()
  16. if Sender == gesuchterSender:
  17. Uhrzeit = tr.find("td", {"class": "no-smartphone2"}).text
  18. StartZeit, StoppZeit = str(Uhrzeit).split("–")
  19. StoppZeit = str(StoppZeit).replace(":", "")
  20. StartZeit = str(StartZeit).replace(":", "")
  21. if int(gesuchteUhrzeit) > int(StartZeit) and int(gesuchteUhrzeit) < int(StoppZeit):
  22. #Sendetermin gefunden -> Nun EpisodenNummer, Staffelnummer und Episodenname ermitteln
  23. StaffelNummer = tr.find_all("span", {"style": "ccolor:#808080"})
  24. count=0
  25. for span in StaffelNummer:
  26. count = count +1
  27. if count == 1:
  28. Staffel = str(span.text).replace(".", "")
  29. else:
  30. if count == 2:
  31. Episode = span.text
  32. Titel = tr.find("td", {"class": "sendetermine-titel"}).b.text
  33. Titel = Titel.replace(" ", "-")
  34. Dateiname = gesuchteSerie + "__" + Titel + "__" + "s" + Staffel + "e" + Episode + ".ts"
  35. EpisodeGefunden = 1
  36. except:
  37. continue
Alles anzeigen
Ich benutze seit heute EMM und bin ohne Anleitung gut durchgekommen. Ein sehr gutes Tool.

Ich denke so ein Add on könnte für jeden nützlich sein, der selbst Serien aufnimmt und diese nicht händisch nachschlagen möchte.

@DanCooper : Hier der Quellcode. Hat für eine Hand voll Serien funktioniert. Aber war auch mein erstes mal, dass ich eine Internetseite ausgelesen habe ( als kleine Verteidigung ;) )

Viewing all articles
Browse latest Browse all 87137


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>