Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
PHP - Api di ricerca Bing
Forum - PHP - Api di ricerca Bing

Avatar
macco_cl (Normal User)
Rookie


Messaggi: 34
Iscritto: 27/02/2007

Segnala al moderatore
Postato alle 10:54
Martedì, 06/08/2013
Ciao a tutti,premetto che sono alle prime armi con il php,dovrei fare un progetto per l'università.

Sono ormai 2 giorni che sto impazzendo senza ottenere alcun risultato dietro le api di bing.

Il mio problema consiste in:

Dato un testo devo effettuare il parsing del testo,suddividendolo per punti,(uso la funzione explode)
e successivamente ogni frase ottenuta dalla suddivisione deve essere passata ad una funzione che esegue la ricerca della frase su internet e ritorna gli url di dove è stata trovata(tramite api di bing),
il progetto deve essere sviluppato in php.

La parte che non riesco a fare è legata alle api,l'altra parte del progetto l'ho già completata.

Ho cercato ovunque su internet trovando parti di codice che non mi sono tornate utili.
Sinceramamente non riesco a capire se il mio AppID è corretto oppure no.

Vi sarei molto grato se sapreste aiutarmi.

Anche perche tra poco tiro giù il muro a testate :rotfl:

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 13:46
Martedì, 06/08/2013

PM Quote
Avatar
macco_cl (Normal User)
Rookie


Messaggi: 34
Iscritto: 27/02/2007

Segnala al moderatore
Postato alle 13:53
Martedì, 06/08/2013
ti ringrazio per la risposta ma ho risolto per quanto riguarda l'AppID,ora ho le api funzionanti solo che mi ritornano troppi URL di ricerca,ne vorrei limitare solo ai primi 5 hai idea di come potrei fare?

Inoltre siccome le mie query eseguite tramite API sono frasi vorrei che fossero cercate nella loro totalità e non cercate le singole parole che formano la frase,come potrei fare?

grazie in anticipo per l'aiuto.

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 10:58
Mercoledì, 07/08/2013
siccome non ho maii usato le api di bing devi dirmi come ti vengono ritornati gli url e il link diretto alla documentazione al metodo della ricerca

PM Quote
Avatar
macco_cl (Normal User)
Rookie


Messaggi: 34
Iscritto: 27/02/2007

Segnala al moderatore
Postato alle 11:03
Mercoledì, 07/08/2013
Codice sorgente - presumibilmente Php

  1. <?php
  2.  
  3. function search($searchstr) {
  4.  
  5.  
  6. /****
  7.  
  8. * Simple PHP application for using the Bing Search API
  9.  
  10. */
  11.  
  12. $acctKey = 'chiave personale';
  13.  
  14. $rootUri = 'https://api.datamarket.azure.com/Bing/Search';
  15.  
  16. // Read the contents of the .html file into a string.
  17.  
  18. $contents = 'vuoto';
  19.  
  20.  
  21. // Here is where you'll process the query.
  22.  
  23. // Encode the query and the single quotes that must surround it.
  24.  
  25. $query = urlencode($searchstr);
  26.  
  27. // Get the selected service operation (Web or Image).
  28.  
  29. $serviceOp = 'Web';
  30. // Construct the full URI for the query.
  31.  
  32. $requestUri = "$rootUri/$serviceOp?\$format=json&Query='$query'";
  33.  
  34. // The rest of the code samples in this tutorial are inside this conditional block.
  35.  
  36. // Encode the credentials and create the stream context.
  37.  
  38. $auth = base64_encode("$acctKey:$acctKey");
  39.  
  40. $data = array(
  41.  
  42. 'http' => array(
  43.  
  44. 'request_fulluri' => true,
  45.  
  46. // ignore_errors can help debug – remove for production. This option added in PHP 5.2.10
  47.  
  48. 'ignore_errors' => true,
  49.  
  50. 'header' => "Authorization: Basic $auth")
  51.  
  52. );
  53.  
  54. $context = stream_context_create($data);
  55.  
  56. // Get the response from Bing.
  57.  
  58. $response = file_get_contents($requestUri, 0, $context);
  59. echo $response;
  60.  
  61. // Decode the response.
  62. $jsonObj = json_decode($response); $resultStr = '';
  63. // Parse each result according to its metadata type.
  64.  
  65. foreach($jsonObj->d->results as $value)
  66. {
  67.         switch ($value->__metadata->type)
  68.  {
  69.         case 'WebResult':
  70.                 $resultStr .=
  71.                 "<a href=\"{$value->Url}\">{$value->Title}</a><p>{$value->Description}</p>";
  72.  break;
  73.  
  74.         }
  75. }
  76. // Substitute the results placeholder. Ready to go.
  77.  
  78. $contents = str_replace('vuoto', $resultStr, $contents);
  79.  
  80. }
  81.  
  82. return $contents;
  83. }
  84. ?>




Questo è il codice che uso se può essere  utile.

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 14:13
Mercoledì, 07/08/2013
Beh:
Codice sorgente - presumibilmente Php

  1. $r = 0;
  2. foreach($jsonObj->d->results as $value)
  3. {
  4.         switch ($value->__metadata->type)
  5.  {
  6.         case 'WebResult':
  7.              if ($r < MAX_RISULTATI)
  8.                 $resultStr .=
  9.                 "<a href=\"{$value->Url}\">{$value->Title}</a><p>{$value->Description}</p>";
  10.  break;
  11.  
  12.         }
  13. }



cambia MAX_RISULTATI con il numero massimo di risultati

P.S. per la ricerca approfondita devi guardare bene le API, io non ti posso aiutare

Ultima modifica effettuata da il 07/08/2013 alle 14:16
PM Quote
Avatar
macco_cl (Normal User)
Rookie


Messaggi: 34
Iscritto: 27/02/2007

Segnala al moderatore
Postato alle 18:47
Mercoledì, 07/08/2013
ti ringrazio per l'aiuto che mi stai dando,il problema che ho letto la documentazione delle API ma non sono riuscito a risolvere ugualmente,perchè in teoria nella documentazione parla di una variabile $top che messa nella query ritorna il numero di risultati voluti,solo che se provo a metterla nella query mi da errore,ma nella documentazione non ho trovato nulla di più,sicuramente sarai più esperto di me,sapresti aiutarmi,non faccio altro che leggere documentazioni da giorni ormai,senza risolvere nulla.

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 20:45
Mercoledì, 07/08/2013
Mi dispiace ma non ho mai lavorato con API di terze parti in php, e più di questo non riesco a fare. Posso provare a dirti qualcosa in più se mi dai i link a ciò che non riesci a fare, ma dubito di poterti essere ancora di aiuto........

PM Quote
Avatar
macco_cl (Normal User)
Rookie


Messaggi: 34
Iscritto: 27/02/2007

Segnala al moderatore
Postato alle 11:39
Giovedì, 08/08/2013
Questo è il link dove trovare la documentazione: http://datamarket.azure.com/dataset/bing/search

Sotto la colonna dove ci sono scritte il numero di query ci sono dei file in word ,"Bing API Schema Guide" è quello che parla di variabile $top per il numero di risultati.


PM Quote