2011-07-23 11 views
5

Chcę zaprojektować własną aplikację wyszukiwarki, w której wszystkie wyniki są wyświetlane użytkownikowi na jednej stronie (z Google/Bing itp.) W przeciwieństwie do Google, gdzie są wyświetlane na różnych stronach.Jak zaprojektować niestandardową wyszukiwarkę?

Czy istnieją takie interfejsy API, które umożliwiają uzyskanie tych wszystkich wyników?

PS. Używam C# i biorąc pod uwagę interfejs IEnumerator dla tego?

+3

Na czym dokładnie polega pytanie? –

Odpowiedz

0

Co można zrobić, to pobrać dane z różnych interfejsów API (bing/google itp.), A następnie wyświetlić je użytkownikowi w jednym strumieniu. W przeciwnym razie indeksowanie wyszukiwarek jest całkowicie nielegalne.

Dla Google możesz przejść do Google Custom Search API lub jeśli masz produkty do przeszukania, a następnie Google Shopping API.

Dla Bing istnieje prosty i prosty interfejs API.

0

Bing ma otwarte API http://www.bing.com/developers

Google daje api następnie natychmiast zabiera go z dala. http://code.google.com/apis/websearch/docs/

Aplikacja google api jest przestarzała i myślę, że ma jeszcze jedną, która jest jeszcze bardziej ograniczona. Dawno, dawno temu mieli API porównywalne do Binga.

W odniesieniu do dokładnego scenariusza, o którym już wspomniano, najlepiej jest najpierw przeanalizować liczbę wyników, a następnie przetestować kolejne strony. Trzeba też dobrze radzić sobie z błędami, ponieważ Google bardzo często polega na liczbie zawartych w nich wyników.

1

Jeśli chcesz tylko móc wyświetlać wyniki wyszukiwania użytkownikom, to prawdopodobnie są to interfejsy API dostępne w wyszukiwarkach. Jak już wspomniano, jest Bing's Live Search API (którego nie używałem, ale wygląda dobrze), a także Google's Web Search API. Dodatkowo istnieje Yahoo BOSS, który uważam za bardzo łatwy w użyciu. Jednak wygląda na to, że BOSS jest teraz płatnym API - więc w zależności od twojego budżetu/intencji może nie odpowiadać.

Google Web Search API jest już nieaktualny, ale powinien nadal działać dla niewielkiej liczby zapytań - to platforma, na której narzędzia takie jak this number of results counter są zbudowane. Został zastąpiony przez Google Custom Search API, który w zależności od potrzeb może, ale nie musi, działać. Nie używałem go, ale wygląda dobrze i jest bezpłatne dla niewielkiej liczby zapytań.

Problem z przeszukiwaniem i parsowaniem stron wyszukiwania polega na tym, że wyszukiwarki regularnie zmieniają podstawowy html stron wyników wyszukiwania - dzięki temu wszelkie skrobaczenie ekranu będzie dość kruche. Ponadto, większość komercyjnych wyszukiwarek blokuje dostęp automatyczny - jeśli mimo wszystko przejdziesz dalej, mogą zablokować Twojego robota. Te dwa problemy prawdopodobnie powodują, że niesamowite interfejsy API stron trzecich nie istnieją.

0

Pracuję w tym samym projekcie. 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(); 

    } 


Generowanie robots.txt plik i umieścić go w głównym nazwy directory.Friendly i inne kwestie są również imp do tego celu.

Powiązane problemy