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
Für Python Sie mit Frontera von Scrapinghub
https://github.com/scrapinghub/frontera
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/
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
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.
- 1. Wie erstellt man einen Yipit.com-Klon?
- 2. Google-Plus Crawler
- 3. Wie kann man einen Crawler/Spider mit PHP erkennen?
- 4. Wie erstellt man einen DataAccessLayer?
- 5. Wie erstellt man einen Systemwiederherstellungspunkt?
- 6. Wie erstellt man ähnliche Animationen von Google?
- 7. Wie hält man einen Web-Crawler am Laufen?
- 8. Wie erstellt man Google Wave-ähnliche Bildlaufleisten?
- 9. Google Crawler Time Restriction
- 10. Wie behandelt man _escaped_fragment_ = für AJAX-Crawler?
- 11. Wie behandelt man Web-Crawler in Django?
- 12. Wie extrahiert man Daten mit Goutte Crawler?
- 13. Ember App und Google Crawler
- 14. Wie behandeln Web-Crawler Javascript?
- 15. Android: Wie erstellt man einen Videoplayer?
- 16. Wie erstellt man einen flächendeckenden radialen Farbverlauf?
- 17. Wie man einen Typedef für Funktionszeiger erstellt
- 18. Wie man einen String [] neu erstellt?
- 19. Wie erstellt man einen Baum in C++?
- 20. Wie man einen OCaml Cross Compiler erstellt
- 21. Apache Spark: wie man einen Zähler erstellt
- 22. Wie erstellt man einen Webslice in IE8?
- 23. Wie erstellt man einen Assistentenbildschirm mit struts2?
- 24. Wie erstellt man einen gepunkteten Tag?
- 25. Wie erstellt man einen String mit Wagenrücklauf?
- 26. Wie erstellt man einen booleschen Wert?
- 27. Wie erstellt man einen Dialog mit VbScript?
- 28. Jenkins - wie man einen bestimmten Zweig erstellt
- 29. Wie erstellt man einen Screenshot von QWidget?
- 30. Wie erstellt man einen CFuncType in Python
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