Was ist Ihre Empfehlung einen Web Crawler in Ruby zu schreiben? Jede lib besser als mechanisieren?Web Crawler in Ruby
Antwort
Wenn Sie nur Seiteninhalte erhalten möchten, ist der einfachste Weg, open-uri
Funktionen zu verwenden. Sie benötigen keine zusätzlichen Edelsteine. Sie müssen nur require 'open-uri'
und ... http://ruby-doc.org/stdlib-2.2.2/libdoc/open-uri/rdoc/OpenURI.html
Inhalt analysieren Sie Nokogiri oder andere Edelsteine verwenden, die auch zum Beispiel nützlich XPATH -Technik haben. Sie können andere Parsing-Bibliotheken finden just here on SO.
Ich würde versuchen, anemone. Es ist einfach zu verwenden, besonders wenn Sie einen einfachen Crawler schreiben müssen. Meiner Meinung nach ist es auch gut gestaltet. Zum Beispiel habe ich ein Ruby-Skript geschrieben, um in kürzester Zeit nach 404-Fehlern auf meinen Seiten zu suchen.
Sie sollten einen Hinweis darauf schreiben, da ich bald die gleiche Funktionalität implementieren werde. Andere würden es wahrscheinlich auch benutzen. – cha55son
Sie möchten vielleicht wombat auschecken, die auf Mechanize/Nokogiri aufgebaut ist und eine DSL (wie Sinatra, zum Beispiel) zum Parsen von Seiten bietet. Recht ordentlich :)
Ich arbeite an pioneer gem, die nicht eine Spinne ist, sondern ein einfacher asynchronen Crawler basierend auf em-synchrony gem
Am besten kann ich sagen, 'web spider' und 'web crawler' sind auch. –
Englisch ist nicht meine Muttersprache, also kann ich falsch liegen, aber es scheint mir, dass Crawler etwas allgemeiner als Spinne ist. Spider ist eine Art kompletter Stoff: rekursiv durch Links surfen. Und Pionier ist mehr wie ein kleiner Rahmen. Du könntest deine eigene Spinne mit Pionier schreiben und du kannst mehr;). Aber Sie müssen mehr Arbeit manuell erledigen, um Pionier zu verwenden, aber es ist agiler. – fl00r
Laut [Wikipedia] (http://en.wikipedia.org/wiki/Web_crawler): "Andere Begriffe für Web-Crawler sind Ameisen, automatische Indexer, Bots, Web-Spinnen, Web-Roboter ..." Dies entspricht der [StackOverflow-Synonyme für Web-Crawler] (http://stackoverflow.com/tags/web-crawler/synonyms). –
ich nur eine kürzlich veröffentlichten Klepto genannt. Es hat eine ziemlich einfache DSL, ist auf Capybara gebaut und hat viele coole Konfigurationsmöglichkeiten.
Wäre schön, wenn Sie Ihre Antwort erweitern und mehr über diese coolen Optionen erklären könnten und warum Ihre Bibliothek besser für die Aufgabe ist. Seien Sie auch vorsichtig, wenn Sie Links zu Ihren eigenen Projekten veröffentlichen. Die Community kann sie als etwas spammig betrachten. – Kev
- 1. Web Crawler in Ruby: Wie erreicht man die beste Performance?
- 2. Web-Crawler - folgende Links
- 3. Flexible Web Crawler
- 4. Web-Crawler mit Perl
- 5. Gibt es eine Web-Crawler-Bibliothek für PHP oder Ruby?
- 6. Sprachempfehlungen für einen effizienten Web-Crawler
- 7. Expert F # Web-Crawler Beispiel
- 8. Wie behandeln Web-Crawler Javascript?
- 9. Wie behandelt man Web-Crawler in Django?
- 10. Ich suche Tutorial in Web-Crawler
- 11. Web-Crawler in Python (mehrere Website)
- 12. Machen Sie einen Web Crawler/Spider
- 13. Schnittstelle Web Crawler mit Django Frontend
- 14. Beste Web-Grafik-Crawler für Geschwindigkeit?
- 15. Web-Crawler und GET vs POST-Anfragen
- 16. Ein sehr einfacher C++ Web Crawler/Spider?
- 17. intelligente Web-Crawler mit maschinellem Lernen
- 18. Web-Crawler, der JavaScript interpretieren kann
- 19. Was ist ein gutes Web-Crawler-Tool?
- 20. Gibt es eine Liste bekannter Web-Crawler?
- 21. Crawler-Instanzen
- 22. Wie kann ich Javascript in einem Perl Web Crawler behandeln?
- 23. Python Yield verhindert Ausgabe/Ausführung in Scrapy Web Spider Crawler
- 24. Open-Source-C++ - Crawler?
- 25. Python Web Crawler, kann ich Funktionsaufrufe von for-Schleifen tun?
- 26. Ruby Web Service
- 27. Wie implementiere ich einen Web-Crawler, der Werbeblöcke streift?
- 28. Wie hält man einen Web-Crawler am Laufen?
- 29. Rendering-Problem für Facebook-Crawler - Ruby On Rails - Browser Gem
- 30. NightmareJS - Web Crawler muss über JSON-Daten iterieren
Besser in welcher Weise? –
Mechanize ist ein großartiges Werkzeug, wenn Sie eine Website navigieren, Formulare ausfüllen, sich authentifizieren müssen usw. Es ist keine Spinne, weil Sie ihm sagen müssen, wie alles zu machen ist. Ich habe Anemone nicht ausprobiert, aber seine Eigenschaften sehen gut aus. Was auch immer Sie tun, stellen Sie sicher, dass Sie die 'robots.txt' Datei auf der Seite, gegen die Sie laufen, respektieren, oder drosseln Sie Ihren Code zurück. Schlecht benommene Spinnen können dich verbannen. Eine Spinne zu schreiben ist nicht so schwer; Ich habe mehr geschrieben, als ich mich erinnern kann. Einen guten Bürger zu schreiben, der robust ist, ist eine größere Aufgabe, wenn möglich mit einem vormontierten Rad. –
Ich würde empfehlen zu betrachten "[Was sind einige gute Ruby-basierte Web-Crawler?] (Http://stackoverflow.com/questions/4981379/what-are-some-good-ruby-based-web-crawlers/4981595) " –