2009-07-14 5 views
1

Ich wurde gebeten, ein Kontrollsystem für eine Ebay-ähnliche finnische Auktions-Website huuto.net zu bauen. Das System würde geschlossene Auktionen nach bestimmten Regeln wieder öffnen. Es wäre komplett extern von der Hauptseite, die auf einer externen Website läuft.Um eine App für eine Internet-Site ohne API und Schema zu erstellen

Die Website ist jedoch nicht bereit, API und Schema zu veröffentlichen. Ich kenne keine Möglichkeit, ein solches System zu bauen, ohne seine API zu kennen.

Wie erstellen Sie eine Website ohne API und Schema?

+0

Wie erwartet Huuto, dass Sie eine Kontrollanwendung für sie ohne Zugriff auf ihre Daten erstellen? –

+0

@Matt: Huuto erwartet nicht, dass ich eine Kontroll-App mache, aber seine Benutzer tun es. –

Antwort

1

Ich denke, Sie fragen nach dem Erstellen einer Website, die mit einer anderen Website interagiert, ohne eine klar definierte API zu verwenden. Ist das richtig?

Sie können mit einer externen Site interagieren, ohne eine offizielle API zu verwenden - um dies zu tun, müssen Sie einen normalen Site-Besucher nachahmen und Ihre Anforderungen an das Site-Frontend senden (ähnlich wie ein Webcrawler)). Werkzeuge wie hpricot, mechanize und curl können Ihnen helfen, den Inhalt von Seiten zu analysieren und Anfragen zu senden, aber dabei ist Ihr System möglicherweise ziemlich spröde. Jede Änderung an der Zielsite kann bedeuten, dass Sie Teile Ihres Systems neu schreiben müssen.

+0

@Matt: Danke, dass du auf die Programme hingewiesen hast! --- Ich mag Python. Es ist möglich, dass ich Beautiful Soup und Defaultdict auch für dieses Problem verwenden könnte. --- Dein letzter Punkt ist gut. Ich möchte keine Lösung bauen, die ständig gebrochen wird. Daher suche ich nach Tools, die mir schnelle Updates ermöglichen. –

1

Es könnte möglich sein, die Daten, die Sie benötigen, durch Screen Scraping der Website zu erhalten. Sie können die gewünschten Vorgänge ausführen, indem Sie Daten an ihre Formulare senden oder eine WebClient-API verwenden, damit Ihr Programm wie ein Webbrowser funktioniert. Dies ist jedoch wahrscheinlich eine extrem spröde Lösung.

Ehrlich gesagt, ohne eine API gibt es wirklich keine gute Lösung.

2

Sie könnten eine Form der automatischen Surfen versuchen: mechanize

Edit: Examples hier.

+0

Ist ein Browser, der Internetseiten ähnlich wie Firefox zu Temp lädt und dann gewollte Änderungen auf die Internetseite –

+1

@Masi mechanisieren: Mechanize ermöglicht es Ihrem Programm, sich genau wie ein normaler Browser zu verhalten, Formulare auszufüllen, Links zu klicken, Cookies zu speichern. Für die Website sieht es wie ein anderer Benutzer aus, der gerade klickt, während es in Wirklichkeit dein Skript ist, das mühsame Aufgabe des Wiederöffnens von Auktionen ausführt :) –

0

Sie entweder Zugriff auf die Datenbank oder eine API benötigen, sonst keinen Sinn darin, sogar zu versuchen.

Verwandte Themen