Gibt es Bausteine für eine Suchmaschine, die anderen Seiten kratzen wird?
-
06-07-2019 - |
Frage
Ich möchte einen Suchdienst für eine bestimmte Sache bauen. Die Daten sind frei zur Verfügung da draußen, über frei klassifizierten Dienste, und eine Vielzahl von anderen Websites.
Gibt es Bausteine, z.B. Open-Source-Crawler, die ich anpassen - und nicht von Grund auf neu zu bauen, dass ich verwenden können,
Jede Beratung über den Aufbau eines solchen Produkts? Nicht nur technisch, aber keine Privatsphäre / rechtliche Dinge, die ich brauche, könnte in Betracht zu ziehen.
z. muß ich ‚geben Kredit‘, wo die Ergebnisse aus und einen Link zum Original sagen - wenn ich sie aus vielen Orten zu bekommen
Edit: Übrigens, ich bin mit GWT mit JS für die Front-End, nicht auf der Sprache für die Back-End entschieden. Entweder PHP oder Python. Gedanken?
Lösung
Es gibt nur wenige Blöcke in Python Sie verwenden können.
- beautifulsoup [ http://www.crummy.com/software/BeautifulSoup/] für HTML-Parsing. Es kann zu fehlerhaftem Code verarbeiten, und seine API ist gaaanz einfach ... viel besser als jeder DOM artigen Werkzeug für mich. Mein Freund verwendet er sein altes phpbb Forum mit Erfolg zu kratzen. Es hat ziemlich guten docs.
- mechanisieren [ http://wwwsearch.sourceforge.net/mechanize/] ist ein Web-Browser-Simulation http-Client-Bibliothek. Es behandelt Cookies, Formulare ausfüllen und so weiter. Auch einfach zu bedienen, aber es hilft, wenn Sie verstehen, wie funktioniert http Arbeit.
- http://dev.scrapy.org/ - das ist eine relativ neue Sache: a ganze Abstreifergestell auf Twisted basiert. Ich habe nicht mit ihm viel gespielt.
Ich verwende erst beide für meine Bedürfnisse; F. E. es braucht 20 Zeilen Code ein automatisches Test-Tool für eine 3-Stufen-Umfrage zu bekommen, mit Simulation für Benutzer warten die Eingabe von Daten und so weiter.
Andere Tipps
Ich habe einen Bildschirm-Schaber in Ruby, die wie fünf Minuten in Anspruch nahm. Offenbar dieser Geck hat es auf 60 Sekunden! Ich bin mir nicht sicher, ob Rubin als skalierbar ist oder schnell wie das, was Sie suchen, aber ich habe noch nie einen schnelleren Weg zu einem Proof-of-Concept oder einen Prototyp.
gesehenDas Geheimnis ist eine Bibliothek „ hpricot “ genannt, die diesen Zweck genau gebaut wurde .
Ich weiß nichts über PHP oder Python oder was für diese Entwicklung Systeme / Sprachen verfügbar ist.
Viel Glück!