En primer lugar, no se trata de cómo raspar sitios web. Estoy completamente al tanto de las herramientas disponibles para raspar (css_parser, nokogiri, etc. Estoy usando Ruby para raspar).¿Cómo raspar logotipos de sitios web?
Esta es una pregunta general sobre la mejor solución posible para raspar el logotipo de un sitio web que comienza con nada más que la dirección de un sitio web.
Las dos soluciones que he comenzado a crear son los siguientes:
API- Uso Google AJAX que hacer una búsqueda de imágenes que tiene como alcance el sitio en cuestión, con la pregunta "logotipo", y agarrar las primer resultado. Esto obtiene el logotipo, diría, aproximadamente el 30% del tiempo.
- El problema con lo anterior es que Google no parece realmente preocuparse por los logotipos reemplazados por la imagen CSS (es decir, texto H1 que es una imagen reemplazada por el logotipo). La solución que se me ocurre tentativamente es desplegar todos los archivos CSS, buscar las declaraciones url() y luego buscar las palabras encabezado o logotipo en los nombres de los archivos.
La solución dos es problemática debido a la gran cantidad de idiosincrasias de todas las personas que escriben CSS para sitios web. Utilizan el encabezado en lugar del logotipo en el nombre del archivo. A veces, el nombre del archivo es aleatorio, sin decir nada sobre un logotipo. Otras veces, es solo la imagen equivocada.
Me doy cuenta de que podría ser capaz de hacer algo con algún tipo de aprendizaje automático, pero estoy en una fecha límite para un cliente y necesito algo bastante capaz pronto.
Así que con todo lo dicho, si alguien tiene algún pensamiento "fuera de la caja" en este caso, me encantaría escucharlo. Si puedo crear una solución que funcione lo suficientemente bien, planeo abrir la fuente de la biblioteca para cualquier otra parte interesada :)
¡Gracias!
Además, me gustaría añadir que estoy haciendo esto para reducir en el proceso manual de carga de imágenes para mi cliente. Haremos miles de registros, y me gustaría que puedan hacer la menor carga manual posible. ¡Gracias! –
¿qué tal hacer algo así como combinar una de sus búsquedas propuestas con: una búsqueda en google limitada a la url raíz para identificar más de una página en el sitio. Escanee dos o tres páginas para encontrar imágenes y encuentre las que sean comunes a todas las páginas buscadas. Si hubiera resultados múltiples para todas las páginas, necesitaría desarrollar algún tipo de criterio de selección, tal vez sobre el tamaño, tal vez sobre el orden dentro de la página ... pero creo que eso sería un poco de prueba y error para ver qué funcionó mejor. Entonces podría comparar los resultados de los dos enfoques, y si están de acuerdo, tal vez sea el logotipo ... –
¡Parece una gran solución! Soy bastante nuevo en SO (por mucho tiempo lurker), pero ¿por qué no publicar eso como respuesta? –