Website parsen mit AJAX/Dynamischen Inhalt

Django, Flask, Bottle, WSGI, CGI…
Antworten
m0ps1234
User
Beiträge: 40
Registriert: Freitag 13. März 2009, 08:57

Hallo,
ich bin django/Websitetechnisch nicht so fit, aber ich soll eine Website parsen, welche einen dynamischen Inhalt besitzt.

Die Website (die aus fieldsets etc und einem Button besteht) wird mit Templates aufgebaut. Wenn jetzt ein Button gedrückt wird, wird ein GET Request ala "http://testserver/All/All/No" gesendet. Hierbei sind zB das erste "All" alle Sachnummern, das 2te "All" alle Produktnummern und das "No" die Systemnummern, welche angefordert werden.
Das Ergebnis wird aber mittels AJAX geladen, sodass die Seite nicht komplett neu aufgebaut wird, sondern nur ein Block in der Seite eingefügt wird.
Wie schaffe ich es mit django, dass er mir ein response-Objekt zurückgibt, in welchem auch der nachgeladene AJAX-Inhalt enthalten ist?

PS: Ich parse die Seite im Moment mit einem einfachen

Code: Alles auswählen

Client().get(link, params)
BlackJack

@m0ps1234: Ich bin jetzt etwas verwirrt was Django hiermit zu tun hat? Django ist zum erstellen von dynamischen Webseiten, also das Gegenteil zu parsen von (dynamischen) Webseiten.

Und parsen von dynamischen Webseiten geht in der Regel nicht automatisiert, denn dafür braucht man einen Browser und muss JavaScript ausführen können. Man kann höchstens von Hand die notwendigen Aktionen vom JavaScript nachbauen. Dazu müsste man das JavaScript analysieren und/oder die Kommunikation zwischen dynamischer Webseite und Server.
Benutzeravatar
/me
User
Beiträge: 3556
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

BlackJack hat geschrieben:Man kann höchstens von Hand die notwendigen Aktionen vom JavaScript nachbauen. Dazu müsste man das JavaScript analysieren und/oder die Kommunikation zwischen dynamischer Webseite und Server.
Mit Selenium könnte sich da was basteln lassen.
m0ps1234
User
Beiträge: 40
Registriert: Freitag 13. März 2009, 08:57

@BlackJack:
Die Website wird mittels Django erstellt und beim Testen wird ein Server simuliert und der Client() des django.Test Moduls genutzt. Wusste nicht ob ich hier richtig bin oder nicht.

Ich dachte da gibt es vielleicht eine Methode/Vorgehensweise, die sowas automatisch handeln kann. Wie schon gesagt ich kenne mich leider mit django nicht aus und die Zeit zum Einlesen hatte/habe ich leider nicht mehr. Habe das erste Mal vor 4 Tagen etwas von django etc. gehört. Danke schonmal für die Antworten und den Tipp mit Selenium. Werde es mal anschauen.
Antworten