mechanize und/oder Beautiful Soup

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.
joker21
User
Beiträge: 17
Registriert: Sonntag 14. Oktober 2007, 11:36

mechanize und/oder Beautiful Soup

Beitragvon joker21 » Samstag 23. August 2008, 11:37

Hallo,

ich habe schon ein paar mal mittels Beautiful Soup Webseiten geparst.

Nun möchte ich mich auf der Seite
http://www.magickartenmarkt.de/index.php
einloggen und ein paar Informationen auslesen.

Mit Beautiful Soup kann ich mich soweit ich weiß nicht einloggen. Oder?
Mit mechanize kann ich mich einloggen, aber den nicht das HTML parsen. Richtig?

Zunächst habe ich versucht, mich einzuloggen (mechanize). Ob das Einloggen erforlgreich war, könnte ich z.B. überprüfen, wenn ich schaue, ob im Seitentext der Hinweis "Du hast ein falsches Passwort eingegeben." steht. Aber ich wüsste nicht, wie das mit mechanize geht.

(Ich bin lernwilliger Laie. Also bitte beim Antorten langsam sprechen... :wink: )

Gruß
Jochen
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Samstag 23. August 2008, 12:53

Naja, du kannst dir ja mit Mechanize den Code ausgeben lassen und den mit html5lib, lxml.html oder BeautifulSoup scrapen. Die Module schließen sich ja nicht gegenseitig aus.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
joker21
User
Beiträge: 17
Registriert: Sonntag 14. Oktober 2007, 11:36

Beitragvon joker21 » Samstag 23. August 2008, 13:45

Leonidas hat geschrieben:Naja, du kannst dir ja mit Mechanize den Code ausgeben lassen und den mit html5lib, lxml.html oder BeautifulSoup scrapen. Die Module schließen sich ja nicht gegenseitig aus.


Leider ist mir das noch nicht gelungen. Wenn ich mittels

Code: Alles auswählen

    br = mechanize.Browser()
    br.open('http://www.magickartenmarkt.de/index.php')

eine Seite laden, wie übergebe ich dann den HTML-Code an BS?

Code: Alles auswählen

    soup = BeautifulSoup(br

führt zu einem Fehler.
joker21
User
Beiträge: 17
Registriert: Sonntag 14. Oktober 2007, 11:36

Beitragvon joker21 » Samstag 23. August 2008, 13:57

Jetzt habe ich es.

Code: Alles auswählen

    br.open('http://www.magickartenmarkt.de/index.php'')
    source=br.response()
    soup = BeautifulSoup(source)


Das funktioniert, ohne dass ich verstehe, was das response macht. Kannst Du mir das erklären?
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Samstag 23. August 2008, 14:09

``br.response()`` gibt dir einfach den HTML-Code, den du dann an BeautifulSoup weiterleistest.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
joker21
User
Beiträge: 17
Registriert: Sonntag 14. Oktober 2007, 11:36

Beitragvon joker21 » Sonntag 24. August 2008, 09:07

Leonidas hat geschrieben:``br.response()`` gibt dir einfach den HTML-Code, den du dann an BeautifulSoup weiterleistest.


So einfach... Danke für die Hilfe.

Jochen

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder