2009-06-18 2 views
1

Ich möchte einen Suchdienst für eine bestimmte Sache erstellen. Die Daten sind dort frei verfügbar, über kostenlose klassifizierte Dienste und eine Vielzahl anderer Sites.Gibt es irgendwelche Bausteine ​​für eine Suchmaschine, die andere Seiten scrappen werden?

Gibt es irgendwelche Bausteine, z.B. Open-Source-Crawler, die ich anpassen würde - anstatt von Grund auf neu zu erstellen, die ich verwenden kann?

Haben Sie Ratschläge zum Aufbau eines solchen Produkts? Nicht nur technische, sondern auch private/rechtliche Dinge, die ich berücksichtigen muss.

z. muss ich "Kredit geben", wo die Ergebnisse herkommen und einen Link zum Original anbringen - wenn ich sie von vielen Orten bekomme?

Edit: Übrigens benutze ich GWT mit JS für das Front-End, haben sich nicht für die Sprache für das Back-End entschieden. Entweder PHP oder Python. Gedanken?

Antwort

2

Es gibt einige Blöcke in Python, die Sie verwenden können.

  1. beautifulsoup [http://www.crummy.com/software/BeautifulSoup/] zum Analysieren von HTML. Es kann auch mit schlechtem Code umgehen, und seine API ist sehr einfach ... viel besser als jedes DOM-ähnliche Tool für mich. Mein Freund benutzte es, um sein altes phpbb-Forum erfolgreich zu scrappen. Es hat ziemlich gute Dokumente.
  2. mechanize [http://wwwsearch.sourceforge.net/mechanize/] ist eine Webbrowser-simulierende HTTP-Client-Bibliothek. Es behandelt Cookies, füllt Formulare und so weiter. Auch einfach zu bedienen, aber es hilft, wenn Sie verstehen, wie http funktioniert.
  3. http://dev.scrapy.org/ - das ist eine relativ neue Sache: ein ganzes Scraping-Framework basiert auf verdreht. Ich habe damit nicht viel gespielt.

Ich benutze zuerst zwei für meine Bedürfnisse; f. Es benötigt 20 Codezeilen, um ein automatisches Testwerkzeug für eine 3-stufige Abfrage zu erhalten, mit Simulation des Wartens auf Benutzereingabe von Daten und so weiter.

+0

Also ich denke, die Idee ist, dass ich einen "screen-scraper" erstellen und den HTML-Code analysieren und die nützlichen Informationen herausnehmen und dann in eine db ablegen würde? Ist das der allgemeine Prozess? – marcamillion

+0

Für mich war es generisch genug ... die einzige Einschränkung, die ich sehe, ist, dass es weder JavaScript noch Flash-Engine gibt, um den Webbrowser vollständig zu simulieren. Sie können jedoch js mit spidermonkey binding hinzufügen - das habe ich nie gebraucht. – liori

0

Ich habe in Ruby einen Screen-Scraper gemacht, der ungefähr fünf Minuten dauerte. Anscheinend this dude hat es bis zu 60 Sekunden! Ich bin mir nicht sicher, ob Ruby so skalierbar oder schnell ist wie das, wonach Sie suchen, aber ich habe nie einen schnelleren Weg zu einem Proof-of-Concept oder einem Prototyp gesehen.

Das Geheimnis ist eine Bibliothek namens "hpricot", die für genau diesen Zweck gebaut wurde.

Ich weiß nichts über PHP oder Python oder was für diese Entwicklungssysteme/Sprachen verfügbar ist.

Viel Glück!

+0

Also ich denke, die Idee ist, dass ich einen "screen-scraper" erstellen und durch den HTML-Code analysieren würde und die nützlichen Informationen herausnehmen und dann in eine db ablegen würde? Ist das der allgemeine Prozess? – marcamillion

+0

Ja, das ist die Idee. –

Verwandte Themen