HTMLParser - Verständnisshilfe

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.
Benutzeravatar
pixewakb
User
Beiträge: 1409
Registriert: Sonntag 24. April 2011, 19:43

> Wollte den Code ja eigentlich auf meiner skymodz.yooco.de Seite hochladen, aber da müsste ich den
> Thread mit einen Passwort sperren - somit müsste ich auch erstmal recherchieren wie Python das Passwort mitnimmt.

Warum nimmst du nicht irgendwo ein kostenloses Webhosting-Angebot und packst dort eine leere HTML-Seite online, die nur eine Zahl (= die Versionsnummer) enthält, sonst nichts. Ich denke nicht, dass Außenstehende mit 1.23.2 etwas anfangen können, aber die Seite könntest du dann für das Programm immer parsen.

Nur mal so als Hinweis: Wenn Dein Nutzer einen Proxy nutzt, kannst du ohnehin nicht auf die Versionsnummer zugreifen; solche Fälle würde ich mitdenken.
xXSkyWalkerXx1
User
Beiträge: 379
Registriert: Mittwoch 27. Juni 2018, 17:39

Ja, habe ja schon geschaut...habe allerdings heute nicht mehr viel Zeit um intensiv danach zu suchen.
Denn auf Anhieb habe ich nichts gefunden.

Wieso nicht?
Benutzeravatar
kbr
User
Beiträge: 1487
Registriert: Mittwoch 15. Oktober 2008, 09:27

xXSkyWalkerXx1 hat geschrieben: Sonntag 30. September 2018, 18:54 Außer versuche ich es nicht - sondern tue es erfolgreich seit ~2 Jahren.
Und, wieviel bringt das so ... ?
xXSkyWalkerXx1
User
Beiträge: 379
Registriert: Mittwoch 27. Juni 2018, 17:39

Sehr sehr viel... :D
xXSkyWalkerXx1
User
Beiträge: 379
Registriert: Mittwoch 27. Juni 2018, 17:39

pixewakb hat geschrieben: Sonntag 30. September 2018, 20:34 > Wollte den Code ja eigentlich auf meiner skymodz.yooco.de Seite hochladen, aber da müsste ich den
> Thread mit einen Passwort sperren - somit müsste ich auch erstmal recherchieren wie Python das Passwort mitnimmt.

Warum nimmst du nicht irgendwo ein kostenloses Webhosting-Angebot und packst dort eine leere HTML-Seite online, die nur eine Zahl (= die Versionsnummer) enthält, sonst nichts. Ich denke nicht, dass Außenstehende mit 1.23.2 etwas anfangen können, aber die Seite könntest du dann für das Programm immer parsen.

Nur mal so als Hinweis: Wenn Dein Nutzer einen Proxy nutzt, kannst du ohnehin nicht auf die Versionsnummer zugreifen; solche Fälle würde ich mitdenken.
Und Dropbox geht aufgrund der Java Skripts nicht oder wie?
Ich meine, mit "soap.find_all()"/"soap.find()" müsste es doch den Pfad des Textes finden können?
Oder geht nicht irgendwie was mit "xpath" - welches Modul müsste man dafür verwenden?
Sirius3
User
Beiträge: 17712
Registriert: Sonntag 21. Oktober 2012, 17:20

Das hat doch pixewakb schon geschrieben! Und wenn Du so viel damit verdienst, kannst Du Dir trotzdem keinen richtigen Server leisten und mußt hier kostenlose Programmierung abgreifen?

Was ich halt nicht verstehe, ist, warum Du nicht bei Deinem yocoo.de bleibst, sondern jetzt das nächste Fass mit dropbox aufmachst???
xXSkyWalkerXx1
User
Beiträge: 379
Registriert: Mittwoch 27. Juni 2018, 17:39

Habe ja nicht gesagt, dass ich es nicht verwenden mag - aber DropBox ist leichter (DACHTE ICH).
Und bei meiner skymodz.yooco.de Seite muss ich noch ein Passwort mitliefern.
Sirius3
User
Beiträge: 17712
Registriert: Sonntag 21. Oktober 2012, 17:20

Kannst Du das mit dem Passwort erklären?
Benutzeravatar
noisefloor
User
Beiträge: 3843
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,
pixewakb hat geschrieben: Sonntag 30. September 2018, 20:34 Warum nimmst du nicht irgendwo ein kostenloses Webhosting-Angebot und packst dort eine leere HTML-Seite online, die nur eine Zahl (= die Versionsnummer) enthält, sonst nichts. Ich denke nicht, dass Außenstehende mit 1.23.2 etwas anfangen können, aber die Seite könntest du dann für das Programm immer parsen.
Hatte ich ganz am Anfang schon mal vorgeschlagen... sowas geht problemlos über AWS Lambda.

Gruß, noisefloor
xXSkyWalkerXx1
User
Beiträge: 379
Registriert: Mittwoch 27. Juni 2018, 17:39

Sirius3 hat geschrieben: Montag 1. Oktober 2018, 09:26 Kannst Du das mit dem Passwort erklären?
Wenn man auf eine Seite möchte muss man vorher...
1. Registriert sein - ok, dafür könnte ich ein account erstellen, mit denen das Programm auf die Seite kann.
2. Und dann ein Zugangspasswort eingeben, um Zugang zu dieser einen bestimmten Seite zu bekommen.
Sirius3
User
Beiträge: 17712
Registriert: Sonntag 21. Oktober 2012, 17:20

Um eine Versionsnummer abzufragen? Muß man ein Passwort eingeben? Und bei DropBox nicht?
Benutzeravatar
noisefloor
User
Beiträge: 3843
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

@xXSkyWalkerXx1: du denkst viel zu kompliziert, was aber IMHO daran liegt, dass dir da (noch) alles mögliche Wissen fehlt, was Webprogrammierung angeht. Beschäftige dich doch mal ein wenig damit, wie so Request-Response Abläufe funktionieren und wie HTTP-basierte APIs (REST-APIs) aussehen. Hilft bei der Lösugsfindung.

Zweite Einschränkung: dein Hoster, der anscheinend alles mögliche limitiert bzw unterbindet. Wenn du so viel Kohle mit dem Verkauf von Cheats verdienst, dann kannst du dir doch sicherlich einen vollwertigen Server bzw. eine Server-Instanz irgendwo mieten / finanzieren. Wurde oben schon mal vorgeschlagen. Würde dich und dein "Business" deutlich flexibler machen.

Gruß, noisefloor
xXSkyWalkerXx1
User
Beiträge: 379
Registriert: Mittwoch 27. Juni 2018, 17:39

Sirius3 hat geschrieben: Montag 1. Oktober 2018, 12:07 Um eine Versionsnummer abzufragen? Muß man ein Passwort eingeben? Und bei DropBox nicht?
Es wäre nicht nur die Versionsnummer - es wäre der ganze Skript, aber ja.
Und nein, bei Dropbox nicht...
von noisefloor » Montag 1. Oktober 2018, 12:49
Hallo,

@xXSkyWalkerXx1: du denkst viel zu kompliziert, was aber IMHO daran liegt, dass dir da (noch) alles mögliche Wissen fehlt, was Webprogrammierung angeht. Beschäftige dich doch mal ein wenig damit, wie so Request-Response Abläufe funktionieren und wie HTTP-basierte APIs (REST-APIs) aussehen. Hilft bei der Lösugsfindung.

Zweite Einschränkung: dein Hoster, der anscheinend alles mögliche limitiert bzw unterbindet. Wenn du so viel Kohle mit dem Verkauf von Cheats verdienst, dann kannst du dir doch sicherlich einen vollwertigen Server bzw. eine Server-Instanz irgendwo mieten / finanzieren. Wurde oben schon mal vorgeschlagen. Würde dich und dein "Business" deutlich flexibler machen.

Gruß, noisefloor
Danke für die Antwort...zu wissen worin ich mich genauer Informieren sollte ist auch sehr hilfreich! :)

Grüße, xXSkyWalkerXx1
Benutzeravatar
pixewakb
User
Beiträge: 1409
Registriert: Sonntag 24. April 2011, 19:43

PS an "interessante" Seiten auf deiner Website komme ich ohne Registrierung ran.

PPS Das ginge so prinzipiell auch:

Code: Alles auswählen

>>> from bs4 import BeautifulSoup
>>> import requests
>>> url = "https://skymodz.yooco.de/fortnite_gamepack"
>>> web = requests.get(url)
>>> soup = BeautifulSoup(web.text, "html5lib")
>>> span_items = soup.find_all("span")
>>> for span_item in span_items:
	if "FORTNITE GAMEPACK V" in span_item.text:
		print(span_item.text.split(" ")[-1])
		break

	
V1.5
Wenn Du ein gescheites ID- oder Class-Element für die Überschrift definieren würdest, dann wäre die Abfrage sehr viel einfacher und vor allem gegen Änderungen geschützter. Die aktuelle Lösung funktioniert nur solange Du an der Website nichts fundamental änderst...
xXSkyWalkerXx1
User
Beiträge: 379
Registriert: Mittwoch 27. Juni 2018, 17:39

Was für Seiten würdest mit empfehlen um Webprogr. zu lernen?
Wie ist diese: http://docs.python-requests.org/de/late ... start.html ?
Benutzeravatar
pixewakb
User
Beiträge: 1409
Registriert: Sonntag 24. April 2011, 19:43

Das ist noch keine Webprogrammierung, das ist Web-Scraping und ja, das Modul requests würde ich empfehlen und nutzen.

Wenn du eine Software suchst, um Webseiten in Python zu programmieren, dann würde ich mir bottle.py (wenn es schnell gehen soll) oder flask (wenn du es gründlich und vernünftig machen willst) ansehen. Aus meiner Sicht brauchst du das aber nicht, um dein Problem zu lösen.

Mein Eindruck: Du setzt zu wenig von den Hinweisen hier um, dadurch wird der Thread sehr lang und gefühlt kommt man nicht von der Stelle.

Konkret, z. B.:
* Definiere doch mal auf der Seite - die du nutzt - die Überschrift vernünftig (<h1 id="...">...</h1> statt <span ...>...</span>) und dann kannst du das auch vernünftig parsen.
* Entscheide dich dann da zu bleiben oder auf einen der vielen Lösungsansätze hier aus dem Thread zurückzugreifen.
xXSkyWalkerXx1
User
Beiträge: 379
Registriert: Mittwoch 27. Juni 2018, 17:39

Danke für die Info! :)

Zu deinem Eindruck: naja, was Python angeht bin ich vom Status fortgeschrittener - wobei sich das schwer an einer Programmiersprache definieren lässt. In letzter Zeit habe ich mich, wenn ich an meinem Projekt gearbeitet habe, sehr intensiv mit PyQt5, also dem (G)UI designen befasst.
Allerdings besitze ich grundlegende Kenntnisse in Python und etwas darüber.

Was dein(e) konkretes Beispiel angeht:
Die Idee hatte ich auch. Weiß nur noch nicht, ob's möglich ist - werde es dann Mal probieren. :)
Habe auch die Idee, die Version und den Skript via HTML-Editor auf der Seite in die HTML zu packen, vllt als Kommentar? Aber ich bin mir nicht sicher, ob dessen Inhalt auch andere sehen können? (Wenn es passwortungeschützt ist)
Benutzeravatar
pixewakb
User
Beiträge: 1409
Registriert: Sonntag 24. April 2011, 19:43

Vielleicht mache ich einen Gedankenfehler, aber du willst im Netz eine Versionsnummer unterbringen und sagen, dass das die aktuell gültige und aktuellste Version ist? Warum sollte das geheim sein? Das könntest du m. E. auf der Seite unterbringen und z. B. in einem Text verpacken. Wenn du das in ein span-Element mit einer ID oder Klasse steckst, kannst du das m. E. leicht auslesen. (An den Stellen kann man dir nicht mehr so ganz folgen, weil man die Problematik, von der du sprichst, nicht mehr so einfach nachvollziehen kann - meine Meinung.)
xXSkyWalkerXx1
User
Beiträge: 379
Registriert: Mittwoch 27. Juni 2018, 17:39

Ich möchte die Versionsnummer auslesen lassen UND ,wenn neue Version vorhanden, den dazugehörigen Skript als bloßen String speichern lassen.
Jetzt klar? ...dabei schreibe ich doch eigentlich immer deutlich. :D
nezzcarth
User
Beiträge: 1632
Registriert: Samstag 16. April 2011, 12:47

xXSkyWalkerXx1 hat geschrieben: Sonntag 30. September 2018, 18:54 Warum ist das "mindestens" fragwürdig?
Das ist wohl eine rhetorische Frage. Es ist ja deine Sache, was du machst, aber sich ahnungslos zu stellen ist halt schon ein Bisschen lustig :P
Antworten