browser in tkinter

Fragen zu Tkinter.
Antworten
jo_hb
User
Beiträge: 72
Registriert: Donnerstag 26. April 2007, 09:21

Hallo,
Nachdem ich erst ein plugin für firefox schreiben wollte glaube ich inzwischen dass es einfacher und besser sein könnte wenn ich einen eigenen Browser in mein Programm einbinde (statt umgekehrt... :)
Die Frage ist nun: Was ist der einfachste Weg, sowas zu realisieren? Gibt es sowas vielleicht schon irgendwo, vielleicht kennt ihr eine Library, die mir eine Art tkinter-html-widget zur Verfügung stellt? Das kleine Problem könnte sein dass die Seiten, die ich darstellen will, sowohl Tables als auch Javascript enthalten, beides sollte auch in meiner HTML-box funktionieren.

Ich hab mir eben schon 'Grail' angeguckt, allerdings noch nicht vollständig verstanden (ist ja auch noch früh :) - kennt das vielleicht jemand, könnte man das auf die oben beschriebene Art benutzen / einbinden? Ich könnte mir auch vorstellen dass es machbar wäre sowas wie Grail für meine Zwecke zu modifizieren - allerdings hätte ich ein bisschen Angst dass dabei ein völlig unübersichtliches Gemurkse rauskommt, daher wär's mir lieber wenn ich halt irgendwas sauber importieren könnte...

Achja, und sehr wichtig wäre auch dass ich dann von meinem Programm aus auf die Daten zugreifen muss, die in der Seite enthalten sind, ich weiss ja nicht ob es zum Beispiel möglich ist den IE oder so direkt einzubinden - könnte mir aber denken dass es dann schwierig wird an diese Daten zu kommen?

Ihr seht, ich habe nicht allzuviel Ahnung von der Materie, habe zwar sowohl mit Python als auch mit TKinter schon was gemacht (deshalb würd ich auch lieber Tkinter als WxPython nehmen...), ist allerdings schon etwas her; wäre also sehr dankbar für eure Tips und eine möglichst simple Lösung...

Grüße & einen sonnigen Tag,
Jo
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Mit wxPython geht das recht einfach.

siehe http://www.daniweb.com/code/snippet490.html

In Tkinter kenne ich das nicht. Alles in allem würde ich wxPython empfehlen ;-). Hier ist ein Tutorial für wxPython das auch mit vielen Bildern gleich die Ergebnisse zeigt. Damit siehst du welche Funktionen schnell und einfach zuerledigen sind:
http://wiki.wxpython.org/index.cgi/AnotherTutorial
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Sr4l hat geschrieben:Mit wxPython geht das recht einfach.
Wenn ich mich recht erinnere, kann das Html-Window von wx aber nicht den kompletten HTML-Umfang. Es reicht aus, um damit Online-Hilfe darzustellen, aber nicht fuer beliebige Websites.

jo_hb: Hab deinen anderen Thread auch gelesen. Ich weiss ja nicht genau, was du mit den Webseiten vorhast, aber muss das ganze mit einen Browser gekoppelt sein? Reicht es nicht vielleicht, wenn dein Programm einfach eine URL entgegennimmt und diese bearbeitet (und dann eventuell die erzeugten Daten darstellt)? Das waere naemlich erheblich einfacher...
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Rebecca hat geschrieben:Wenn ich mich recht erinnere, kann das Html-Window von wx aber nicht den kompletten HTML-Umfang. Es reicht aus, um damit Online-Hilfe darzustellen, aber nicht fuer beliebige Websites.
Es gibt meines Wissens keine komplette Implementation von HTML.

Was man aber versuchen kann ist Gecko einzubinden, Stichwort MozEmbed. Mit PyGTK geht das irgendwie (nicht sonderlich einfach, da man noch Pakete nachinstallieren muss), mit wxPython sollte das auch irgendwie gehen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
pythonist
User
Beiträge: 40
Registriert: Sonntag 14. Mai 2006, 17:28

Also das wx.html stellt nur html dar läd aber keine Bilder geschweigeden js.
Dafür gibts das: http://wxmozilla.sourceforge.net/
jo_hb
User
Beiträge: 72
Registriert: Donnerstag 26. April 2007, 09:21

Ah, wxwindows sieht doch schon sehr gut aus! :) Danke, das guck ich mir mal an!

Tja was ich am Ende damit machen wollte ist ergebnisse von Pferderennen in eine Datenbank übernehmen und mit Python analysieren, Seiten sehen zB so aus:

http://www.racingpost.co.uk/horses/raci ... _id=641096

Hm, natürlich könnte ich auch einfach mein Python script alle horse_id zwischen 0 und 999999 durchsaugen lassen, aber dann krieg ich wahrscheinlich Post von der pacing post... :)

Also Danke nochmal,
Gruss,
Jo
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Dafür würde ich mir die Seite in Python laden per urllib2
und dann mit re (oder Beautifulsoup) zerlegen.
encbladexp
User
Beiträge: 61
Registriert: Freitag 7. März 2003, 19:28
Kontaktdaten:

Das wäre doch bei beste Zeit sowas wie PyGecko rauszubringen, am besten so das man es für PyGTK, Wx und Tkinter verwenden kann... *träum*...

mfg Betz Stefan
jo_hb
User
Beiträge: 72
Registriert: Donnerstag 26. April 2007, 09:21

Könnte man auch, aber dann lade ich die Seiten ja immer zweimal, erst im Browser zum gucken, dann mit meinem Script nochmal. Ausserdem wüsste ich gar nicht wie ich die URL vom Browser in mein Script kriegen sollte...
Antworten