Custom Robots

Michel

Angesehenes Mitglied
Gibt es Freeware Robots/Crawlers die man seinen Bedürfnissen entsprechend anpassen kann?

Genauer:

Ich brauche einen Robot, der websites (nach Länder definiert) durchsucht, definierte Sachen ausliest und in einer DB speichert. Ein Statistik Tool macht dann den Rest.

Any idea?
 
Soll es eine Art Suchmaschine werden, oder was soll dieser Robot genau machen. Sowas gibt nämlich für verschiedene Programmiersprachen.
Wenn es um eine Suchmaschine geht, ist Nutch (Java) [1] bestimmt mal ein Blick wert. Es müsste halt vielleicht nur noch angepasst werden.


MfG Sascha Ahlers

[1] www.nutch.org
 
QUOTE (Sascha Ahlers @ Fr 7.7.2006, 21:17) Soll es eine Art Suchmaschine werden, oder was soll dieser Robot genau machen. Sowas gibt nämlich für verschiedene Programmiersprachen.
Wenn es um eine Suchmaschine geht, ist Nutch (Java) [1] bestimmt mal ein Blick wert. Es müsste halt vielleicht nur noch angepasst werden.


MfG Sascha Ahlers

[1] www.nutch.org

Prinzipiell geht es um Markforschung.

Ich möchte über den Robot wissen, wie häufig Link XYZ und Link 123 z.b. in der Schweiz vorhanden ist.

Der Search Service ist zweitranging
 
QUOTE (TD Michel @ Fr 7.7.2006, 21:43)Ich möchte über den Robot wissen, wie häufig Link XYZ und Link 123 z.b. in der Schweiz vorhanden ist.

Wahrscheinlich ist es da einfacher, das direkt selbst zu entwickeln bzw. sich aus einer OpenSource-Vorlage die benötigten Teile herausschneiden. Allerdings fehlen dann die ganzen Anknüpfungspunkte, so daß eine explizite Eigenentwicklung bald einfacher sein dürfte.
 
Er soll wohl nur bereits bekannte Seiten durchsuchen, oder soll er sich selbst fortbewegen? Für diesen Fall bräuchtest du Ewigkeiten bis er dir ein nennenswertes Ergebnis liefert.

Im Prinzip kann mein Crawler schon beides, man muss halt die Features abschalten, die einen Crawler ausmachen... also ihn Quasi auf dumm stellen
laugh.gif
 
QUOTE (Maik @ Sa 8.7.2006, 12:31) Er soll wohl nur bereits bekannte Seiten durchsuchen, oder soll er sich selbst fortbewegen? Für diesen Fall bräuchtest du Ewigkeiten bis er dir ein nennenswertes Ergebnis liefert.

Im Prinzip kann mein Crawler schon beides, man muss halt die Features abschalten, die einen Crawler ausmachen... also ihn Quasi auf dumm stellen
laugh.gif


Er soll sich selbständig weiterbewegen, allerdings nur in einem definierten Gebiet (z.b. nur CH domains).

Der bot soll eine DB mit statistischen Informationen füllen. Allerdings müsste der Bot nach ca. 1000 verschiedenen Links und einigen Ausnahmen Ausschau halten.

Ich weiss die Infos sind etwas knapp. Aber kannst du den Aufwand für eine Umstellung deines bots ca. Einschätzen?
 
QUOTE Gibt es Freeware Robots/Crawlers die man seinen Bedürfnissen entsprechend anpassen kann?

Ja. Welche Sprache?

Von scratch würde ich nur anfangen, wenn Du mit einer 50% Crawl Quote leben kannst.

Welche Durchdringung wollt ihr erreichen? Alle Seiten in .ch zu spidern ist eher unrealistisch. Naja, ich kann mir etwa vorstellen, was ihr vorhabt, aber irgendwo fehler mit doch noch einige Infos..

Eine beispielhafte Liste mit JAVA Implementationen findest Du hier: http://www.manageability.org/blog/stuff/op...wlers-java/view
 
Hallo Michel,

es gibt 1.000 varianten wie Du dein Problem lösen kannst, ich persönlich würde dir von Nutch abraten, nicht weil es Nutch die Aufgabe nicht lösen kann.,sondern weil die code momentan so komplex ist dass wenn du in Zukunft spezielle Bedürfnisse hast die Nutch nicht kann, wirst du die features nicht so einfach implementieren können. (das gilt für andere Crawlers)

Wenn ich dich richtig verstehe, möchtest du folgendes.
1. CH TLDs crawlen, gehen wir davon das .ch 265.000.000 Seiten hat. (google site:.ch)
2. Es handelt sich nur um HTML seiten, keine PDFs, Words, Flash die mann speziell parsen muss etc...
3. Du möchtest nur Links speichern. Als reine schätzung, sagen wir du brauchst 1kb fspeicherplatz pro Seite.

Die Aufgabe zu lösen ist nicht unmöglich, ist nur eine Frage von Ressources. Ich habe momentan ein Crawler in Python der 185.000 Seiten pro Tag mit mein Laptop crawlen kann.

Dafür brauche ich.
- Laptop mit 1.6 GHz, dort laufen 7 Crawlers gleichzeitig.
- eine 2000kb/256kb adsl leitung. 10 kb Downstream pro Crawler.
- MySQL, die Tabelle ist momentan 18GB, aber ich speichere das ganze HTML, 5k-40k pro Seite.

Jetzt kannst du vergleichen was ich mache und was ich dafür brauche mit das was du machen willst. einfach multiplizieren und schon hast du eine Idee was dein Projekt braucht.
smile.gif


Eine wichtige frage ist auch, wie schnell soll das Crawlen passieren? Ich könnte die 185.000 seiten in 1/2 Tag crawlen, dafür würde ich aber eine schnellere leitung + ein 2. laptop brauchen...

Wenn du mir genauere angaben geben kannst und Interesse hast kann ich dir eine offerte machen. (einfach PM oder mail an: steven[at]liechti[dot]ch)

Gruss
Steven
 
QUOTE (SwiZZ @ Sa 8.7.2006, 15:53) Die Aufgabe zu lösen ist nicht unmöglich, ist nur eine Frage von Ressources. Ich habe momentan ein Crawler in Python der 185.000 Seiten pro Tag mit mein Laptop crawlen kann.

Mein Crawler ist nur in PHP geschrieben, verwendet allerdings eine Skalierbare Architektur (siehe blog). Im Gegensatz zu dem Crawler den SwiZZ verwendet, muss ich nicht den kompletten Crawler parallel laufen lassen, sondern nur einzelne Teile.

Auf einem Test-VServer unter Linux schafte ich ca. 20 Seiten pro Sekunde und das inklussive Parsing und Keyword-Bewertung. Lässt man das Keyword-Zeugs weg und filtert nur die Links und speichert diese, bekommt man etwa doppelt bis dreifach soviele Daten. Ersetzt man den VServer durch einen richtigen Server, der auch moderne Technik enthält... also 2-4CPUs
laugh.gif
dann kann man die Effizienz auch noch mal um Faktor 2 bis 3 steigern. Sollte das zutreffen, schaffst du im optimalen Fall ca. 15 Mio Seiten am Tag... ok, das Rechenzentrum macht dir da aber sicher ein Strich durch die Rechnung. Und wer kann es sich leisten, mal eben 150 GB Traffic am Tag zu generieren...
Mit weiteren Server könnte man die Effizienz auch noch erhöhen...


QUOTE Aber kannst du den Aufwand für eine Umstellung deines bots ca. Einschätzen?

Das ist der Vorteil von PHP: Selbst wenn ich das durch Programmieren ändern müsste, würde es nicht länger als 1 Tag dauern. Aber ich muss es nicht ändern, da ich durch meinen Adminbereich so ziemlich alles An- und Abschalten kann... also Arbeitsaufwand: 1 Minute
laugh.gif
laugh.gif
 
Hört sich sehr interessant an. Ich werde euch ein Doku zusammenstellen, das genau umschreibt was der Crawler machen soll. Dann solltet ihr in der Lage sein, den Aufwand genau abzuschätzen.

Hardwaremässig kann ich das anbieten:

Processor Dual 2.4GHz Xeon Processors
RAM 1GB RAM*, Upgradeable to 4GB
Hard Drive 2 x 200GB HDDs
Drive Controller IDE RAID 1
Bandwidth 2000GB Bandwidth
Uplink Port 100Mbps
IP Addresses 29 IP Addresses*, Upgradeable to 61 IP Addresses
Operating System Choice of RedHat Enterprise Linux 3.0, RedHat Enterprise Linux 4.0*, Microsoft Windows Server 2003, Debian, FreeBSD, or CentOS
Control Panel Available cPanel, Helm, or Plesk
Web Analytics Available Urchin 5.0
Database Available MySQL, Shared or Dedicated Microsoft SQL Server 2000, Oracle 10G Standard Edition One

Falls mehr Ram nötig ist ... kein Problem.
Es ist allerdings nicht wichtig, dass das gesamte CH Netz innert eines Tages gecrawled ist. Eine Woche ist auch ok
smile.gif

Sollte ich aber auch mal DE oder UK crawlen wollen, sollte dies auch in einer anständigen Zeit möglich sein...

Wichtig ist auch noch: Das ist kein Projekt von TD, sonder von mir privat.
 
QUOTE (Alain Aubert @ Sa 8.7.2006, 15:02)
QUOTE Gibt es Freeware Robots/Crawlers die man seinen Bedürfnissen entsprechend anpassen kann?

Ja. Welche Sprache?

Von scratch würde ich nur anfangen, wenn Du mit einer 50% Crawl Quote leben kannst.

Welche Durchdringung wollt ihr erreichen? Alle Seiten in .ch zu spidern ist eher unrealistisch. Naja, ich kann mir etwa vorstellen, was ihr vorhabt, aber irgendwo fehler mit doch noch einige Infos..

Eine beispielhafte Liste mit JAVA Implementationen findest Du hier: http://www.manageability.org/blog/stuff/op...wlers-java/view

Durchdringung soll natürlich möglichst hoch sein ...

yup, ich wette du weisst ungefähr was ich plane
smile.gif
 
QUOTE (TD Michel @ So 9.7.2006, 9:00) Könnt ihr mir bitte eure email adresse geben?

Geh einfach in ICQ mal online
 
QUOTE (Maik @ So 9.7.2006, 9:30)
QUOTE (TD Michel @ So 9.7.2006, 9:00) Könnt ihr mir bitte eure email adresse geben?

Geh einfach in ICQ mal online

und deine ICQ # ist ... ?
 
Habe dir vorhin schon geschrieben. Ansonsten, meine Nummer steht im Profil.
 
oh, sorry, die ICQ nummer in meinem footer ist die vom büro.

hier die private: 179-301-309
 
Zurück
Oben