2016-06-25 8 views
-4

Ich möchte einen Crawler erstellen, der Hunderttausende von Links in mehreren Minuten aktualisieren kann. Gibt es irgendwelche ausgereiften Möglichkeiten, die Planung zu tun? Wird ein verteiltes System benötigt? Was ist die größte Barriere, die die Leistung einschränkt? Thx.Wie erstellt man einen leistungsstarken Crawler wie Google?

Antwort

2

Für Python Sie mit Frontera von Scrapinghub

https://github.com/scrapinghub/frontera

https://github.com/scrapinghub/frontera/blob/distributed/docs/source/topics/distributed-architecture.rst

Sie sind die gleichen Jungs gehen könnte, die Scrapy machen.

Es gibt auch Apache Nutch, die ein viel älteres Projekt ist. http://nutch.apache.org/

+0

MetalloyD, können Sie mir sagen, was ist der Unterschied zwischen Scrapy-Cluster, verteilt-Frontera? Ich bin verwirrt. Was ist das Für und Wider? – makeapp

0

Die erforderliche Verarbeitung und der erforderliche Arbeitsspeicher erfordern eine verteilte Verarbeitung, es sei denn, Sie sind bereit, Kompromisse bei der Geschwindigkeit einzugehen. Denken Sie daran, Sie würden mit Milliarden von Links und Terabytes von Text und Bildern zu tun haben

1

Sie würden einen verteilten Crawler benötigen, aber nicht das Rad neu erfinden, verwenden Sie Apache Nutch. Es wurde genau für diesen Zweck gebaut, ist ausgereift und stabil und wird von einer breiten Community verwendet, um mit großen Crawls umzugehen.