2011-11-10 34 views
22

Chciałbym wyświetlić niektóre niestandardowe wyniki wyszukiwania.Lista interfejsów API wyszukiwarki JSON bez limitów, takich jak Bing?

Szukałem w API JSON zarówno Google i Microsoft (Bing). Niestety, Google ma limit ilości zapytań dziennie (50 USD za maksymalnie dziesięć tysięcy zapytań). Jednak Bing pozwala na "nieograniczoną" ilość zapytań dziennie, za darmo.

Czy istnieją inne usługi, takie jak Bing JSON API, które nie mają limit zapytań jak API Google?

Powiązanym pytaniem może być to, w jaki sposób usługi takie jak Metacrawler mogą łączyć wyniki wyszukiwania z kilku wyszukiwarek, podczas gdy warunki usług tych silników wyraźnie stwierdzają, że wyniki te można uzyskać jedynie za pomocą takiego (płatnego) interfejsu API, a nie poprzez indeksowanie. .

+0

Cześć, przyjrzeć http://indexden.com - to jest dokładnie to, czego potrzebujesz. –

+5

Bing Search API nie jest już wolny dla tego poziomu obecnie: https://datamarket.azure.com/dataset/5BA839F1-12CE-4CCE-BF57-A49D98D29A44 – KFL

Odpowiedz

14

Zwykle usługi i interfejsy API mają próg użycia, aby umożliwić eksperymenty i korzystanie z nich na małą skalę bez przeszkód i przeszkód z góry, ale otwierają możliwość oferowania lepszych umów SLA i dodatkowych opcji z płatnym wykorzystaniem w aplikacjach, które tego wymagają. poziom wsparcia.

Powiedział patrząc na programmableweb.com API dla wyszukiwania jest prawdopodobnie interesująca opcja - patrz http://www.programmableweb.com/apis/directory/1?apicat=Search.

Jestem także ciekawy, czego konkretnie szukasz pod względem możliwości, tego, co chcesz zobaczyć w interfejsie API Bing itp. Wszelkie informacje zwrotne i mogę przekazać do zespołu (ponieważ jestem na Bing zespół).

+1

NikhilK, dzięki za odpowiedź. Największym problemem, z którym borykałem się przy korzystaniu z API Bing, jest to, że wyniki wydają się mniej istotne niż wyniki zwracane przez zwykłą stronę wyszukiwania bing. Na przykład, jeśli wyszukuję hasło "nu.nl papandreou", oczekuję, że zwróci on wiele wyników związanych z papandreou na stronie nu.nl. Zamiast tego dostaję rzadko odwiedzaną stronę inwestorów, która łączy się z nu.nl i gdzie ktoś inny rozmawia o Papandreou. – Tom

+1

Uzgodnione. Wyniki interfejsu API są straszne w porównaniu z wynikami sieci. Nie ma powodu, dla którego wyniki powinny się różnić. Ponadto niektóre warunki użytkowania są nieco restrykcyjne. –

2

Mam ten sam problem z Bing, więc staram inne rozwiązanie. Próbuję parsować ich treść HTML jak człowiek. Kod HTML tej strony miał pewne ograniczenia, więc podrapałem ich wersję mobilną.

Jeśli w ogóle, to kod użyłem (używając Jsoup komponentów i Apache HTTP) w Java:

DefaultHttpClient client = new DefaultHttpClient(); 
    client.getParams().setParameter(CoreProtocolPNames.USER_AGENT, "Mozilla/5.0 (Windows NT 6.2; rv:9.0.1) Gecko/20100101 Firefox/9.0.1"); 
    client.getParams().setParameter(ClientPNames.COOKIE_POLICY, CookiePolicy.IGNORE_COOKIES); 

    int page = 0; 
    String surl = "http://m.bing.com/search/search.aspx?A=webresults&Q=" + URLEncoder.encode("site:www.facebook.com/ +\"?sk=info\"+\"new york\"+\"Bar\"", "UTF-8") + "&D=Web&SI=" + (page * 10) + "&PN=" + (page); 
    HttpGet get = new HttpGet(surl); 
    InputStream content = client.execute(get).getEntity().getContent(); 
    Document doc = Jsoup.parse(content, "UTF-8", "http://www.bing.com/"); 
    Elements elements = doc.select(".s15 a"); 
    for (Element e : elements) { 
     String url = e.attr("href"); 
     int v = url.indexOf("REDIRURL="); 
     if (v > 0) { 
      url = url.substring(v + 9); 
      url = url.substring(0, url.indexOf("&")); 
      url = URLDecoder.decode(url, "UTF-8"); 
     } else { 
      break; 
     } 
     System.out.println(url + " : " + e.text()); 
    } 
+2

Czy wiesz, czy Microsoft wykrywa, czy ten sam adres IP żąda bardzo dużej liczby zadań wyszukiwania w określonym przedziale czasu? Na przykład Google robi i emituje kod captcha. – PAX

5

myślę http://www.faroo.com/ może pomóc. Ma limit 1 miliona wyszukiwań miesięcznie.

+2

_FAROO_ wygląda dobrze, ale nie ma zbyt dużego poziomu kontroli nad wynikami, z jedynym operatorem [supported] (http://www.faroo.com/hp/api/api.html#parameter) dla zapytań o wartości 'AND' (słowa kluczowe). – Alastair

+0

Może to być dla niektórych złamacz, ale Faroo wymaga również rejestracji dla klucza API. – lsh

+3

Kolejnym wyłącznikiem dla Faroo jest to, że klucz API jest ograniczony do adresu IP określonego podczas rejestracji. – lsh