Python Mechanize Bild anklicken

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.
Antworten
Drezael
User
Beiträge: 11
Registriert: Dienstag 4. März 2014, 06:35

Hallo Freunde,

ich möchte gerne das Suchergebnis einer Webseite auslesen. Jedoch scheitere ich daran das der Button zum aktivieren ein Bild mit einem .onclick() Javaevent ist.
Leider habe ich bisher noch nichts wirklich hilfreiches gefunden. Hat einer von euch eine Lösung wie das ganze funktionieren könnte?

Für eure Hilfe wäre ich sehr dankbar.
stefanbunde
User
Beiträge: 29
Registriert: Dienstag 20. Oktober 2015, 12:59

wenn ich das richtig verstehe, versuchst du erst auf eine webseite zu gehen, gibst dort ein such-string ein und möchtest die suche dann abschicken, um dann die ergebnisse auszulesen.
probiere doch mal, die ergebnisseite direkt aufzurufen. häufig gibt es ja eine direkte url dahin, zb www.meineseite.de/irgendwas?suchstring=python
so kannst du den url als format-string bauen und damit beliebige suchstrings reinpacken
Drezael
User
Beiträge: 11
Registriert: Dienstag 4. März 2014, 06:35

Hallo,

einen Suchsting gibt es leider nicht da alle Daten per Javascript verarbeitet werden. Wenn mann die url direkt ausführ bekommt man nur eine leere Suche zurück und genau das ist mein Problem.
Ich müsste irgendwie per mechanize oder anderen Mitteln zuerst den Suchbutton (der ein bild ist) ausführen.
stefanbunde
User
Beiträge: 29
Registriert: Dienstag 20. Oktober 2015, 12:59

kannst du vllt mal den url zu deiner webseite posten? :-)
__deets__
User
Beiträge: 14539
Registriert: Mittwoch 14. Oktober 2015, 14:29

Du solltest dir den Debugger deines Browsers zu Nutze machen. Dort sollte es einen Netzwerk-Tab geben, in dem alle Anfragen an den Server aufgelistet werden. Also einfach auf deine Seite gehen, den Debugger anwerfen, auf den Button klicken - und schauen, was fuer eine URL wie abgefragt wird.

Natuerlich kann die Sache komplizierter werden, wenn es session ids/cookies/header irgendeiner Art gibt, die wichtig sind. Das muss man sich dann ggf. zusammenstoppeln. Aber am Ende geht es immer, wenn eine Server-Abfrage dabei ist.
Drezael
User
Beiträge: 11
Registriert: Dienstag 4. März 2014, 06:35

Hallo,

also habe es mal mit dem Network probiert leider oder großen Erfolg. Was mir jedoch aufgefallen ist ds die Daten per POST übertragen werden. Nun stellt sich mir die Frage ob man per Script beim Aufruf der Seite die POST Daten von Python aus mitschicken kann?

Die Seite ist übrigens: https://www.adac.de/infotestrat/autodatenbank/
__deets__
User
Beiträge: 14539
Registriert: Mittwoch 14. Oktober 2015, 14:29

Also fuer mich klappt das:

http://pastebin.com/re8W3rd3

Allerdings scheint es sich um eine ASP.NET Anwendung zu handeln, und die braucht wahrscheinlich all den ganzen Kram da oben, ausgeliefert durch die Eingangsseite. Das ist aber mit requests denke ich kein Problem.

Und um deine Frage zu beantworten: wenn du zB requests benutzt, kannst du das natuerlich auch per POST schicken.
Drezael
User
Beiträge: 11
Registriert: Dienstag 4. März 2014, 06:35

Danke für die Info. aber leider bringt mich das ganze nicht weiter. Steh gerade irgendwie wie der Ochse vorm Berg da.
Evtl. kannst du mir mal erklären wie ich das ganze verwirklichen kann? Wäre echt super.
Antworten