Buscador de FA y películas no encontradas (Implementar motor secundario de búsqueda)
Closed this issue · 5 comments
Básicamente, la búsqueda avanzada de filmaffinity no encuentra algunas películas que están en su base de datos, ejemplo: ficha y buscador. Por tanto, todas esas películas que no aparezcan en la búsqueda no serán encontradas por el scrapper.
El fallo ha sido expuesto por Fer69 en XBMCSpain: http://xbmcspain.com/foro/topic1432.html. Y como dice XBMCERO, se podría añadir una búsqueda secundaria en google (que sí encuentra esas películas) si el buscador avanzado no muestra resultados.
No se cómo hacer el tema de la búsqueda condicional en caso de no encontrar resultados, por eso no está implementado ya. Sé que hay algunas películas que cuesta un montón encontrar en el buscador de FA, pero ya te digo no se cómo hacer condicionales en los scrapers.
llevo muchísimo sin pasarme por aquí, por lo que os pido perdón en primer lugar, pero he visto este tema y me ha parecido interesante dedicarle un momento. y es que creo que la solución sería sustituir directamente la búsqueda de FA por una de google bien tuneada, es decir, utilizar toda la potencia de google para exprimir FA. y la verdad es que ha funcionado bastante bien en el navegador, pero toda esta semana estaré en un curso en Barcelona y hasta mi vuelta no podré chequearlo implementándolo propiamente en el scraper. si los resultados son buenos os lo propondré como un "pull request" en toda regla.
por si queréis ir echándole un vistazo al tema, o implementarlo vosotros mismos (implementarlo es inmediado, sólo sería necesario testearlo y confirmar que efectivamente google es más chulo que nadie a la hora de hacer búsquedas), se trataría de cambiar la búsqueda propia de FA por la de google usando las opciones de "I'm feeling lucky" (btnI=1) y de búsqueda en un web en particular (site:www.filmaffinity.com). en resumen, que la cadena de búsqueda en cuestión sería la siguiente:
https://www.google.com/search?sourceid=navclient&btnI=1&q=site:www.filmaffinity.com+titulo+año
incluso se puede mejorar forzando la detección del año, lo que imagino que aceleraría la búsqueda aún más:
https://www.google.com/search?sourceid=navclient&btnI=1&q=site:www.filmaffinity.com+título+"(año) - FilmAffinity"
"sourceid=navclient" es una opción para hacerle saber que la búsqueda viene de un navegador, y al parecer es una opción necesaria para que admita varios items dentro de la variable "q", nada más.
haría un "pull request" yo mismo ahora de lo convencido que estoy del resultado, aunque ya os digo que esperaré a testearlo en mi librería antes de reportaros el resultado. animaos si leéis esto antes a probarlo vosotros, y ya me contaréis.
doy por sentado que queda claro que lo que propongo es SUSTITUIR el actual sistema de búsqueda de FA por el de google, y NO AÑADIR un segundo motor de búsqueda de manera condicional.
además, os recuerdo que precisamente fui yo el que en su momento propuse usar el de FA en lugar del que teníamos de google, pero se debía a que el de google no estaba suficientemente optimizado. debido a este issue me doy cuenta de que google bien tuneado puede ser un recurso mucho más indicado que el propio FA, así que sólo habría que confirmar si el buscador de google es lo suficientemente hábil como para encontrar primeros y únicos hits como el de FA estaba haciendo.
desde luego, el ejemplo del error funciona perfectamente, como podréis observar:
https://www.google.com/search?sourceid=navclient&btnI=1&q=site:www.filmaffinity.com+z+1969
Me parece una muy buena idea (creo recordar que en los inicios el buscador ya usaba google, pero cambiamos al de filmaffinity no se porque :S Cómo sigue funcionando "bien", salvo los pequeños errores estos está la cosa parada. Pero es de elogiar que sigas queriendo mejorarlo.
Felicitaciones de mi parte compañero!
este tema queda solucionado en el pull request que hago para la versión 1.4.6