Seite 1 von 3

Re: HTMLParser - Verständnisshilfe

Verfasst: Sonntag 30. September 2018, 18:18
von nezzcarth
Was du da im Browser auf die von pixewakb gezeigte Weise sehen kannst, ist nicht der eigentliche Quelltext, sondern der DOM-Baum, den der Browser erzeugt, wenn die Seite fertig geladen ist; das schließt zum Beispiel auch das Ausführen von JavaScript, das zusätzliche Modifikationen durchführen kann, ein. Den eigentlichen Quelltext erhälst du im Firefox z.B. mit ctrl+U. Die Seite -- die du auch mit einem gewöhnlichen get-Request erhälst -- enthält nicht mal deinen Beispiel-String.

Im Übrigen finde ich es fragwürdig, was du da auf deiner Seite anbietest.

Re: HTMLParser - Verständnisshilfe

Verfasst: Sonntag 30. September 2018, 18:36
von xXSkyWalkerXx1
Doch, siehe hier:

Code: Alles auswählen

<pre id="code" class="brush: text; plain-text">testfile</pre>
Warum findest du es fragwürdig? :D

Re: HTMLParser - Verständnisshilfe

Verfasst: Sonntag 30. September 2018, 18:41
von pixewakb
Du solltest das Modul requests installieren und nutzen, urllib.request nutzt man da eigentlich nicht mehr. Dropbox dürfte viel JavaScript nutzen, d. h. der Inhalt, den Du im Browser siehst, dürfte dort erst nach einem Nachladen erkennen. Wenn Du so etwas parsen willst, dann geht das mit requests nicht mehr, sondern du müsstest auf Selenium wechseln, was aber sehr langsam ist, weil das Modul einen Browser mitbringt und über den Browser (!) die Abfragen durchführt. Das ist sehr, sehr langsam.

Packt die Information auf eine statische Website im Netz und parse es dann von da. Es gibt sowohl kostenlose Anbieter für Python-Apps, aber auch Sachen, wo du eine einfache HTML-Seite ablegen kannst. Mehr braucht es eigentlich nicht.

Re: HTMLParser - Verständnisshilfe

Verfasst: Sonntag 30. September 2018, 18:46
von nezzcarth
xXSkyWalkerXx1 hat geschrieben: Sonntag 30. September 2018, 18:36 Doch, siehe hier:

Code: Alles auswählen

<pre id="code" class="brush: text; plain-text">testfile</pre>
Nein. Siehe hier:

Code: Alles auswählen

curl -s -A "Mozilla/5.0 (X11; Linux x86_64; rv:62.0) Gecko/20100101 Firefox/62.0" "https://www.dropbox.com/s/kt3d2jn4sy2llew/test.txt?dl=0" | grep -i "testfile"
Warum findest du es fragwürdig? :D
Wenn ich das richtig verstanden habe, versuchst du Cheats zu verkaufen. Das ist mindestens fragwürdig.

Re: HTMLParser - Verständnisshilfe

Verfasst: Sonntag 30. September 2018, 18:54
von xXSkyWalkerXx1
pixewakb hat geschrieben: Sonntag 30. September 2018, 18:41 Du solltest das Modul requests installieren und nutzen, urllib.request nutzt man da eigentlich nicht mehr. Dropbox dürfte viel JavaScript nutzen, d. h. der Inhalt, den Du im Browser siehst, dürfte dort erst nach einem Nachladen erkennen. Wenn Du so etwas parsen willst, dann geht das mit requests nicht mehr, sondern du müsstest auf Selenium wechseln, was aber sehr langsam ist, weil das Modul einen Browser mitbringt und über den Browser (!) die Abfragen durchführt. Das ist sehr, sehr langsam.

Packt die Information auf eine statische Website im Netz und parse es dann von da. Es gibt sowohl kostenlose Anbieter für Python-Apps, aber auch Sachen, wo du eine einfache HTML-Seite ablegen kannst. Mehr braucht es eigentlich nicht.
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.

Wenn ich das richtig verstanden habe, versuchst du Cheats zu verkaufen. Das ist mindestens fragwürdig.
Warum ist das "mindestens" fragwürdig?
Außer versuche ich es nicht - sondern tue es erfolgreich seit ~2 Jahren.

Re: HTMLParser - Verständnisshilfe

Verfasst: Sonntag 30. September 2018, 20:34
von pixewakb
> 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.

Re: HTMLParser - Verständnisshilfe

Verfasst: Sonntag 30. September 2018, 20:47
von xXSkyWalkerXx1
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?

Re: HTMLParser - Verständnisshilfe

Verfasst: Sonntag 30. September 2018, 23:24
von kbr
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 ... ?

Re: HTMLParser - Verständnisshilfe

Verfasst: Montag 1. Oktober 2018, 06:10
von xXSkyWalkerXx1
Sehr sehr viel... :D

Re: HTMLParser - Verständnisshilfe

Verfasst: Montag 1. Oktober 2018, 06:19
von xXSkyWalkerXx1
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?

Re: HTMLParser - Verständnisshilfe

Verfasst: Montag 1. Oktober 2018, 07:01
von Sirius3
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???

Re: HTMLParser - Verständnisshilfe

Verfasst: Montag 1. Oktober 2018, 08:28
von xXSkyWalkerXx1
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.

Re: HTMLParser - Verständnisshilfe

Verfasst: Montag 1. Oktober 2018, 09:26
von Sirius3
Kannst Du das mit dem Passwort erklären?

Re: HTMLParser - Verständnisshilfe

Verfasst: Montag 1. Oktober 2018, 10:02
von noisefloor
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

Re: HTMLParser - Verständnisshilfe

Verfasst: Montag 1. Oktober 2018, 10:30
von xXSkyWalkerXx1
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.

Re: HTMLParser - Verständnisshilfe

Verfasst: Montag 1. Oktober 2018, 12:07
von Sirius3
Um eine Versionsnummer abzufragen? Muß man ein Passwort eingeben? Und bei DropBox nicht?

Re: HTMLParser - Verständnisshilfe

Verfasst: Montag 1. Oktober 2018, 12:49
von noisefloor
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

Re: HTMLParser - Verständnisshilfe

Verfasst: Montag 1. Oktober 2018, 13:46
von xXSkyWalkerXx1
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

Re: HTMLParser - Verständnisshilfe

Verfasst: Montag 1. Oktober 2018, 13:49
von pixewakb
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...

Re: HTMLParser - Verständnisshilfe

Verfasst: Montag 1. Oktober 2018, 13:56
von xXSkyWalkerXx1
Was für Seiten würdest mit empfehlen um Webprogr. zu lernen?
Wie ist diese: http://docs.python-requests.org/de/late ... start.html ?