Zugriff auf Internetseite

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
theotter
User
Beiträge: 27
Registriert: Mittwoch 30. Juni 2010, 16:08

Also ich möchte auf eine Internetseite zugreifen und zwar so, dass ich den Zählerstand, der sich auf der Seite befindet abfrage und dann wenn ein bestimmter Wert erreicht ist, einen Button klickt.
Kann man das in Python realisieren??
Wenn ja, wie kann man das.
In Sachen Netzwerkprogrammierung habe ich 0 Erfahrung, also bitte etwas ausführlicher.
lg theotter
Benutzeravatar
/me
User
Beiträge: 3561
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

theotter hat geschrieben:Also ich möchte auf eine Internetseite zugreifen und zwar so, dass ich den Zählerstand, der sich auf der Seite befindet abfrage und dann wenn ein bestimmter Wert erreicht ist, einen Button klickt.
http://wwwsearch.sourceforge.net/mechanize/ (ausführlicher geht es nicht, da ich noch nie damit gearbeitet habe)
Quisl
User
Beiträge: 2
Registriert: Montag 14. November 2011, 00:59

Wenn der Zähler im Webseiten Quelltext zu sehen ist und nicht als Bild o.Ä. vorliegt könntest du auch die standard-Lib 'urllib' benutzen. Da drin findest du die schöne Methode urlopen() mit der du den HTML Code einer Webseite runter laden und in ein File Objekt schreiben kannst.

Code: Alles auswählen

import urllib #Lib einbinden
f = urllib.urlopen('http://example.com') #Inhalt runter laden
text = f.read() #Inhalt in String schreiben
print text
Der nächste Schritt wär jetzt (zum Beispiel mit Hilfe von Regular Expressions) die Zahl aus dem Quelltext raus zu holen und mit deinen gewünschten Wert zu vergleichen.

Bei der Sache mit dem Button wär es gut zu wissen um was für nen Button es sich handelt (Javascript, Submit, etc).
Wenn es einer ist der auf eine andere Seite linkt und evtl. noch ein paar Post oder Get Variablen mit schickt kannst du wieder mit urllib arbeiten und einfach die Seite die du sonst mit dem Browser aufrufst manuell aufrufen:

Code: Alles auswählen

get = urllib.urlencode({'getvar1': 1, 'getvar2': 2, 'getvar3': 'kekse'}) #Get Variablen deklarieren (die Dinger die in der Adresszeile stehen (etwa .../search?getvar1=1&getvar2=2&getvar3=kekse))
post = urllib.urlencode({'postvar1': 123, 'postvar2': 'kruemel'}) #Post Variablen deklarieren (die Dinger die "unsichtbar" vom Browser gesendet werden (meist Benutzernamen, Passwörter etc.)
f = urllib.urlopen('http://example.com/?%s'%get, post)
Da ich bestimmt Schreibfehler drin hab guckst du am besten auf in der Doc von urllib wie man das genau macht.
Siehe auch RE
theotter
User
Beiträge: 27
Registriert: Mittwoch 30. Juni 2010, 16:08

Funzt leider nich, da urllib keiner deiner Fkt enthält.
Ich benutze Python 3.1
lg theotter
BlackJack

@theotter: In der Dokumentation von Python 3.x zu lesen ist dann wohl zu viel verlangt…
theotter
User
Beiträge: 27
Registriert: Mittwoch 30. Juni 2010, 16:08

Hab den Fehler schon behoben.
Antworten