nlp - sets - usa database
Rastreo de Internet (10)
¿Hay algún requisito específico de idioma?
Pasé un tiempo jugando con el Chilkat Spider Lib''s para .net hace un tiempo para experimentación personal,
La última vez que verifiqué allí, araña Libs, tiene licencia como Freeware, (aunque no sea de código abierto por lo que sé :()
Parece que tienen libra de pitón para.
http://www.example-code.com/python/pythonspider.asp #Python http://www.example-code.com/csharp/spider.asp # .Net
Quiero rastrear por cosas específicas. Específicamente eventos que se llevan a cabo como conciertos, películas, inauguraciones de galerías de arte, etc., etc. Cualquier cosa que uno pueda pasar tiempo yendo.
¿Cómo implemento un rastreador?
He oído hablar de Grub (grub.org -> Wikia) y Heritix ( http://crawler.archive.org/ )
¿Hay otros?
¿Qué opiniones tienen todos?
-Jason
Creo que la parte del webcrawler será la parte más fácil de la tarea. La parte difícil será decidir qué sitios visitar y cómo descubrir eventos en los sitios que desea visitar. Tal vez quiera ver si usa la API de Google o Yahoo para obtener los datos que desea. Ya han hecho el trabajo de rastrear muchas páginas en Internet; puedes enfocarte en el, en mi opinión, un problema mucho más difícil de cribar los datos para obtener los eventos que estás buscando.
Hagas lo que hagas, sé un buen ciudadano y obedece el archivo robots.txt . Es posible que desee comprobar las referencias en la página de wikipedia en rastreadores enfocados . Me acabo de dar cuenta de que conozco a uno de los autores de Topical Web Crawlers: Evaluación de algoritmos adaptativos . Mundo pequeño.
Hay un buen libro sobre el tema que puedo recomendar llamado Webbots, Spiders y Screen Scrapers: una guía para desarrollar agentes de Internet con PHP / CURL .
Si descubre que el rastreo de Internet se convierte en una tarea importante, considere la posibilidad de crear un agregador de RSS y suscribirse a feeds RSS para sitios de eventos populares como craigslist y upcoming.org.
Cada uno de estos sitios proporciona eventos localizados y buscables. RSS le proporciona un (pocos) formatos estandarizados en lugar de tener a todos los html malformados que conforman la web ...
Hay bibliotecas de código abierto como ROME (java) que pueden ayudar con el consumo de fuentes RSS.
Echa un vistazo a Scrapy . Es un marco de rastreo web de código abierto escrito en Python (he oído que es similar a Django, pero en lugar de publicar páginas, las descarga). Es fácilmente extensible, distribuido / paralelo y se ve muy prometedor.
Usaría Scrapy, porque de esa manera podría guardar mis puntos fuertes para algo más trivial, como cómo extraer los datos correctos del contenido eliminado, etc., e insertarlos en una base de datos.
En realidad, escribir un rastreador a escala es una tarea bastante desafiante. Implementé uno en el trabajo y lo mantuve por bastante tiempo. Hay muchos problemas que no sabes hasta que escribes uno y acertas los problemas. Específicamente trata con CDN y rastreo amigable de sitios. Los algoritmos adaptativos son muy importantes o disparará filtros DOS. En realidad, de todos modos, sin saberlo, si su rastreo es lo suficientemente grande.
Cosas para pensar:
- ¿Qué es, excepto el rendimiento capaz?
- ¿Cómo lidias con las interrupciones del sitio?
- ¿Qué pasa si estás bloqueado?
- ¿Desea participar en el rastreo sigiloso (contreversial y realmente bastante difícil de hacer las cosas bien)?
De hecho, he escrito algunas cosas que, si alguna vez lo hago, podría ponerme en línea sobre la construcción con orugas, ya que construir una adecuada es mucho más difícil de lo que la gente te dirá. La mayoría de los rastreadores de código abierto funcionan lo suficientemente bien para la mayoría de las personas, así que si puedes, te recomiendo que uses uno de esos. Cuál es una opción de función / plataforma.
Un excelente texto introductorio para ese tema es Introducción a la Recuperación de Información (texto completo disponible en línea). Tiene un capítulo sobre rastreo web , pero quizás lo más importante es que proporciona una base para las cosas que desea hacer con los documentos rastreados.
Introducción a la recuperación de información http://nlp.stanford.edu/IR-book/iir.jpg
Siguiendo la sugerencia de Kevin sobre los canales RSS, es posible que desees consultar Yahoo pipes . Todavía no los he probado, pero creo que le permiten procesar varios canales RSS y generar páginas web o más fuentes RSS.