Webseite auslesen,je nach Inhalt handeln

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
qxw2c
User
Beiträge: 4
Registriert: Montag 15. Juni 2009, 00:47
Wohnort: Nähe HH

Moin,

ich habe gerade (mein erstes) Python Skript geschrieben. Es loggt mich auf einer Seite ein und sendet ein Formular ab(mit mechanize). Soweit kein Problem. Nur möchte ich nun ein weiteres Feature einbauen, indem zuerst der Content der Seite auf den String "Momentane Aktion" getestet wird. Ist der String vorhanden, soll das script abbrechen, sonst normal weitermachen.
response3=mechanize.urlopen(request3)

Code: Alles auswählen

if re.search(
	"Momentane Aktion", response3()
die
print "Error"
else
...[der Rest funktioniert]
Kann mir wer sagen, wie ich das realisiert bekomme? Mit o.g. Beispiel funktioniert es nicht. ;-) Bin neu in Python und komme mit den if not noch nicht so zurecht..

So long,

ich freue mich auf Antworten

qxw2c
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Also der erste Schritt wäre mal, die ganzen Syntaxfehler rauszubekommen...

Python ist auch kein PHP und hat kein ``die()``.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
qxw2c
User
Beiträge: 4
Registriert: Montag 15. Juni 2009, 00:47
Wohnort: Nähe HH

Hallo und danke für die schnelle Antwort.
Das Beispiel funktioniert so nicht, dass also Fehler drin sind ist mir klar ;-)
Verflixt, da kommt das PHP durch, gibt es sowas in Python auch? Eventuell per sys.exit()?
Der Teil soll den String Momentane Aktion in der Seite, die durch request3 angefordert wird, suchen und falls fündig, das Skript abbrechen.

Grüße

qxw2c
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Steck das einfach in eine ``main()``-Funktion (ist sowieso eine gute Idee) und ruf dort ``return`` auf.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
qxw2c
User
Beiträge: 4
Registriert: Montag 15. Juni 2009, 00:47
Wohnort: Nähe HH

Dürfte ich drum bitten mir so ein Snippet zu schreiben?Wie gesagt, ich bin blutiger Anfänger...

Grüße

qxw2c
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Dann solltest du mal das Tutorial durchlesen.

Code: Alles auswählen

def main():
    # ...
    if bedingung:
        response3()
        return

    print "Error"
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
qxw2c
User
Beiträge: 4
Registriert: Montag 15. Juni 2009, 00:47
Wohnort: Nähe HH

Ich glaube, so geht das nicht.
Nochmals der Code:

Code: Alles auswählen

request3 = mechanize.Request(url)
response3 = mechanize.urlopen(request3)
response3.close()

#Hier soll die Überprüfung hin
...
Wobei response3 ja mehr als nur der gesuchte String ist. Es soll also das, was in response3 ankommt auf den String überprüft werden.
Hab ich mich so klar genug ausgedrückt, oder liegt der Denkfehler bei mir?
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Dann musst du eben den String mit dem HTML-Code rausbekommen, ist sicher irgendwo als Attribut verfügbar.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Das Tutorial und die mechanize Doku (in den Docstrings) bleibt trotzdem noch empfehlenswert ....
Antworten