¿Cuál es su recomendación de escribir un rastreador web en Ruby? ¿Alguna lib mejor que mecanizar?rastreador web en ruby
Respuesta
Si solo desea obtener el contenido de las páginas, la forma más sencilla es utilizar las funciones open-uri
. No requieren gemas adicionales. Sólo tienes que require 'open-uri'
y ... http://ruby-doc.org/stdlib-2.2.2/libdoc/open-uri/rdoc/OpenURI.html
para analizar el contenido puede utilizar Nokogiri u otras gemas, que también pueden tener, por ejemplo, útiles XPATH -Tecnología. Puede encontrar otras bibliotecas de análisis just here on SO.
Me gustaría probar anemone. Es fácil de usar, especialmente si tiene que escribir un rastreador simple. En mi opinión, está bien diseñado también. Por ejemplo, escribí un script de ruby para buscar errores 404 en mis sitios en muy poco tiempo.
Deberías publicar una idea general sobre esto ya que implementaré la misma funcionalidad pronto. Otros probablemente lo usarían también. – cha55son
Es posible que desee comprobar wombat que está construido sobre Mechanize/Nokogiri y proporciona una DSL (como Sinatra, por ejemplo) para analizar páginas. Bastante limpio :)
estoy trabajando en pioneer gem que no es una araña, pero un simple rastreador asincrónica basada en em-synchrony gem
Lo mejor que puedo decir es que 'web spider' y 'web crawler' son sinónimos. –
El inglés no es mi idioma nativo, así que puedo estar equivocado, pero me parece que ese crawler es algo más general que spider. Spider es un tipo de material completo: navega recursivamente a través de enlaces. Y pionero es más como un pequeño marco. Podrías escribir tu propia araña con pionero y puedes hacer más;). Pero necesita hacer más trabajo manualmente, para usarlo como pionero, pero es más ágil. – fl00r
Según [Wikipedia] (http://en.wikipedia.org/wiki/Web_crawler): "Otros términos para rastreadores web son hormigas, indexadores automáticos, bots, arañas web, robots web ..." Esto coincide con el [Sinónimos de StackOverflow para rastreador web] (http://stackoverflow.com/tags/web-crawler/synonyms). –
Me acaba de lanzar un llamado recientemente Klepto. Tiene un DSL bastante simple, está construido sobre el capibara y tiene muchas opciones de configuración geniales.
Sería bueno si pudiera expandir su respuesta y explicar más acerca de estas interesantes opciones y por qué su biblioteca es mejor para la tarea. También tenga cuidado al publicar enlaces a sus propios proyectos, la comunidad puede verlo como un poco spam. – Kev
- 1. simple rastreador web en C#
- 2. Ruby, Mongodb, Anemone: rastreador web con posible pérdida de memoria?
- 3. experto rastreador ejemplo F # Web
- 4. Hacer un rastreador web/araña
- 5. rastreador web que puede interpretar JavaScript
- 6. rastreador Web de comparación de precios
- 7. rastreador en appengine
- 8. ¿Hay un rastreador de torrents basado en Ruby on Rails?
- 9. ¿es posible escribir un rastreador web en javascript?
- 10. ¿Cómo puedo manejar Javascript en un rastreador web Perl?
- 11. Rastreador de errores simple no basado en la web
- 12. ¿Mejor rastreador de gráficos web para mayor velocidad?
- 13. ¿Un rastreador/araña de web C++ muy simple?
- 14. rastreador web Python con base de datos MySQL
- 15. Etiqueta adecuada para un rastreador web Solicitudes HTTP
- 16. ¿Existe algún rastreador web extensible y simplemente extensible?
- 17. Factor de cortesía típico para un rastreador web?
- 18. ¿Cómo escribir un rastreador?
- 19. trampas legales o éticas para el rastreador web?
- 20. Usar el rastreador en el controlador
- 21. Un rastreador web en python. ¿Dónde debería comenzar y qué debería seguir? - Se necesita ayuda
- 22. ¿Cómo construir un rastreador web basado en Scrapy para que funcione para siempre?
- 23. Escribir un servidor web simple en Ruby
- 24. Ruby plugin for web browser?
- 25. RUBY - web scraping - (OpenURI :: HTTPError)
- 26. ¿Un rastreador multiproceso en Python realmente acelera las cosas?
- 27. ¿Cómo puede un rastreador web Perl seguir una devolución de datos de ASP.NET?
- 28. ¿Cuál es el lenguaje de programación ideal para un rastreador web?
- 29. ¿Cuál es la duración óptima de un rastreador web para esperar entre solicitudes repetidas a un servidor web?
- 30. ¿Conoces algún rastreador de errores instantáneo/independiente?
Mejor de qué manera? –
Mechanize es una gran herramienta si necesita navegar un sitio web, completar formularios, autenticarse, etc. No es una araña porque tiene que decirle cómo hacer todo. No he probado Anemone, pero sus características se ven bien. Hagas lo que hagas, asegúrate de respetar el archivo 'robots.txt' en el sitio contra el que te estás ejecutando, o acelera tu código. Las arañas maltratadas pueden hacer que te vean prohibidas. Escribir una araña no es tan difícil; He escrito más de lo que puedo recordar. Escribir uno que sea un buen ciudadano y que sea robusto es una tarea más grande, por lo que puede ir con una rueda prefabricada si puede. –
Recomiendo mirar "[¿Cuáles son algunos buenos rastreadores web basados en Ruby?] (Http://stackoverflow.com/questions/4981379/what-are-some-good-ruby-based-web-crawlers/4981595) " –