2011-07-23 14 views
5

Quiero diseñar mi propia aplicación de motor de búsqueda, donde todos los resultados se muestran al usuario en una sola página (de Google/Bing, etc.) a diferencia de Google, donde se muestra en diferentes páginas.¿Cómo diseñar un motor de búsqueda personalizado?

¿Existe algún tipo de API que puede conseguirme todos esos resultados?

PS. Estoy usando C# y considerando la interfaz IEnumerator para esto?

+3

¿Cuál es específicamente la pregunta aquí? –

Respuesta

0

Lo que puede hacer es ir a buscar los datos de diferentes APIs (Bing/google, etc) y luego mostrarlo al usuario en un flujo. De lo contrario, los motores de búsqueda rastreros son totalmente ilegales.

Para Google, se puede ir a Google Custom Search API o si tiene productos para buscar a continuación, Google Shopping API.

Para Bing, existe una API simple y directa.

0

cheque NUTCH. ¿Es esto lo que estás buscando?

0

Bing tiene una API abierta http://www.bing.com/developers

Google le da una API luego inmediatamente se la quita. http://code.google.com/apis/websearch/docs/

La API de Google es obsoleto y creo que tienen otro que es aún más limitado. Érase una vez que tenían una API que era comparable a la de Bing.

Para el escenario exacto que mencionar, sin embargo, lo mejor que puede hacer primero es analizar el número de resultados, a continuación, mantener iteración a través de las páginas. También necesita manejar bien los errores porque Google muy a menudo miente sobre la cantidad de resultados que contiene.

1

Si lo que desea es poder servir a los usuarios resultados de búsqueda, a continuación, las API proporcionadas por los motores de búsqueda son probablemente el camino a seguir. Como ya se mencionó, está Bing's Live Search API (que no he usado pero se ve bien), y también Google's Web Search API. Además, hay Yahoo BOSS que encontré muy fácil de usar. Sin embargo, parece que BOSS ahora es una API de pago, por lo que, dependiendo de su presupuesto/intención, podría no ser adecuado.

de búsqueda web de Google API ahora es obsoleto, pero aún debe trabajar para un pequeño número de consultas - es la plataforma que herramientas como this number of results counter se construyen sobre. Ha sido reemplazado por el Google Custom Search API que, dependiendo de sus necesidades, puede o no funcionar para usted. No lo he usado, pero se ve bien, y es gratis para pequeñas cantidades de consultas.

El problema con el rastreo y el análisis de páginas de búsqueda es que los motores de búsqueda cambian regularmente el html subyacente de las páginas de resultados de búsqueda, por lo que cualquier enfoque de filtro de pantalla será bastante frágil. Además, el terms of service de la mayoría de los motores de búsqueda comerciales prohíbe el acceso automático. Si continúa, es posible que bloqueen su rastreador. Es probable que estos dos problemas expliquen por qué las API de análisis de terceros realmente no existen.

0

estoy trabajando en el mismo proyecto. Generate sitemap

private void SubmitSitemap(string PortalName) 
    { 
     //PING SEARCH ENGINES TO LET THEM KNOW WE UPDATED OUR SITEMAP 

     //resubmit to google 

     System.Net.WebRequest reqGoogle = System.Net.WebRequest.Create("http://www.google.com/webmasters/tools/ping?sitemap=" + HttpUtility.UrlEncode("http://your path'" + PortalName + "'/sitemap.xml")); 
     reqGoogle.GetResponse(); 

     //resubmit to ask 

     System.Net.WebRequest reqAsk = System.Net.WebRequest.Create("http://submissions.ask.com/ping?sitemap=" + HttpUtility.UrlEncode("http://your path + "'/sitemap.xml")); 
     reqAsk.GetResponse(); 

     //resubmit to yahoo 

     System.Net.WebRequest reqYahoo = System.Net.WebRequest.Create("http://search.yahooapis.com/SiteExplorerService/V1/updateNotification?appid=YahooDemo&url=" + HttpUtility.UrlEncode("http://yourpath/sitemap.xml")); 
     reqYahoo.GetResponse(); 

     //resubmit to bing 

     System.Net.WebRequest reqBing = System.Net.WebRequest.Create("http://www.bing.com/webmaster/ping.aspx?siteMap=" + HttpUtility.UrlEncode("http://yourpath + "'/sitemap.xml")); 
     reqBing.GetResponse(); 

    } 


Generar robots.txt archivo y colocarlo en la raíz de su nombre directory.Friendly y otras cuestiones también se imp para este propósito.

Cuestiones relacionadas