2011-11-10 14 views
22

Vorrei visualizzare alcuni risultati di ricerca personalizzati.Elenco delle API del motore di ricerca JSON senza quote, come Bing?

Ho esaminato le API JSON di Google e Microsoft (Bing). Purtroppo, Google ha un limite alla quantità di query al giorno ($ 50 per un massimo di diecimila query). Tuttavia, Bing consente una quantità "illimitata" di richieste al giorno, gratuitamente.

Esistono altri servizi, come l'API JSON di Bing, che non hanno un limite di query come l'API di Google?

Una domanda correlata potrebbe essere il modo in cui servizi come Metacrawler possono combinare i risultati di ricerca di diversi motori di ricerca, mentre i termini dei servizi di questi motori indicano chiaramente che questi risultati possono essere ottenuti solo tramite tale API (a pagamento) e non tramite la scansione .

+0

Ciao, dai un'occhiata a http://indexden.com - è esattamente ciò di cui hai bisogno. –

+5

L'API di ricerca di Bing non è più gratuita per quel livello ora: https://datamarket.azure.com/dataset/5BA839F1-12CE-4CCE-BF57-A49D98D29A44 – KFL

risposta

14

In genere servizi e API hanno soglia di utilizzo, in modo da consentire la sperimentazione e l'uso su piccola scala senza ostacoli e ostacoli iniziali, ma offrono la possibilità di offrire SLA migliori e opzioni aggiuntive con l'utilizzo a pagamento per le app che ne richiedono livello di supporto.

Detto questo guardando programmableweb.com per le API di ricerca è probabilmente un'opzione interessante - vedi http://www.programmableweb.com/apis/directory/1?apicat=Search.

Sono anche curioso, cosa stai cercando specificamente in termini di funzionalità, cosa ti piacerebbe vedere nell'API di Bing ecc. Qualsiasi feedback e posso inoltrare alla squadra (dato che sono sul Bing squadra).

+1

NikhilK, grazie della risposta. Il problema più grande che ho avuto a che fare con l'utilizzo dell'API di Bing è che i risultati sembrano essere meno rilevanti di quelli restituiti dal normale sito di ricerca di bing. Ad esempio, se cerco "nu.nl papandreou" mi aspetto che restituisca molti risultati relativi a papandreou sul sito nu.nl. Invece, ottengo un sito di investitori raramente visitato che capita di collegarsi a nu.nl e dove qualcun altro capita di parlare di Papandreou. – Tom

+1

concordato. I risultati API sono orribili rispetto ai risultati web. Non c'è motivo per cui i risultati dovrebbero essere diversi. Inoltre, alcune delle condizioni d'uso sono un po 'restrittive. –

2

Ho lo stesso problema con bing, quindi sto provando un'altra soluzione. Sto cercando di analizzare il loro contenuto HTML come un essere umano. L'HTML del loro sito Web aveva alcune limitazioni, quindi ho raschiato la loro versione mobile.

Se qualcuno, questo è il codice che ho usato (utilizzando Jsoup e componenti HTTP Apache) in 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

Hai saputo se Microsoft rileva se lo stesso indirizzo IP richiede un numero molto elevato di lavori di ricerca in un intervallo di tempo specifico? Ad esempio, Google fa ed emette un codice captcha. – PAX

5

Penso http://www.faroo.com/ può aiutarti. Ha un limite di 1 milione di ricerche al mese limitazione.

+2

_FAROO_ sembra buono ma non ha molto livello di controllo sui risultati, con l'unico [operatore supportato] (http://www.faroo.com/hp/api/api.html#parameter) per le query che sono 'AND' (parole chiave). – Alastair

+0

Potrebbe essere un interruttore automatico per alcuni, ma Faroo richiede anche la registrazione per una chiave API. – lsh

+3

Un altro interruttore per Faroo è che la chiave API è limitata all'indirizzo IP specificato durante la registrazione. – lsh