[PHP] Toevoegen van data aan de Google CSE

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik ben voor een schoolproject bezig met het bouwen van een webapplicatie, die grotendeels rust op de functionaliteit van users. Het idee is kort gezegd als volgt:
- De user doet een Google Zoekopdracht
- Hij krijgt de resultaten.
- Van elk resultaat kan hij kiezen of hij deze website wil opnemen in het archief of niet.

Dit moet geautomatiseerd worden, dus eigenlijk zou er achter iedere zoekterm een soort knop moeten zitten, die dit zoekresultaat in de database opneemt.

Hiervoor dachten we eigelijk de Google Custom Search API te gebruiken, die je de mogelijkheid geeft de search engine aan te passen indien nodig, en de resultaten op je website weer te geven. Precies wat we nodig hebben dus.

Het enige probleem hiervan is, dat Google je de resultaten niet netjes als XML afgeeft, maar ze rechtstreeks op je website neerzet, zonder dat je ze zelf tussendoor kunt bewerken. (Dit waarschijnlijk in verband met de "sponsored links", die er niet uit verwijderd mogen worden.) Het is dus niet 123 mogelijk om zelf de benodigde actie knop erin te bouwen.

Aan de andere kant heb je de Google Site Search API, (de betaalde versie) die wel een XML resultaten functie heeft. Echter deze kan dan weer niet over het gehele web zoeken, alleen over een groep opgegeven sites. (Wat niet de bedoeling is.)

Is iemand al eerder tegen dit probleem gelopen, of weet iemand een oplossing hiervoor? Bij voorbaat erg veel dank!
Jan

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Gewoon een event handler maken die met javascript over het DOM heen loopt en bij elk resultaat wat elementen injecteert voor die knop is geen optie?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • BKJ
  • Registratie: April 2000
  • Laatst online: 18-09 14:52

BKJ

Zie http://code.google.com/apis/websearch/docs/#fonje_snippets:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// This example request includes an optional API key which you will need to
// remove or replace with your own key.
// Read more about why it's useful to have an API key.
// The request also includes the userip parameter which provides the end
// user's IP address. Doing so will help distinguish this legitimate
// server-side traffic from traffic which doesn't come from an end-user.
$url = "https://ajax.googleapis.com/ajax/services/search/web?v=1.0&"
    . "q=Paris%20Hilton&key=INSERT-YOUR-KEY&userip=USERS-IP-ADDRESS";

// sendRequest
// note how referer is set manually
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_REFERER, /* Enter the URL of your site here */);
$body = curl_exec($ch);
curl_close($ch);

// now, process the JSON string
$json = json_decode($body);
// now have some fun with the results...

Kamer huren


Acties:
  • 0 Henk 'm!

  • Bastiaan V
  • Registratie: Juni 2005
  • Niet online

Bastiaan V

Tux's lil' helper

je hebt eigenlijk 2 mogelijkheden

- de aanpassingen pamen op de client machines (zoals ook veel browser plugins werken)
- proxy'en (data zelf ophalen, aanpassen en doorsturen naar de client.

Beiden kunnen prima werken, voor mij zou de vraag vooral zijn of je de clients kan vertrouwen. (oude browsers, noscript plugins ed)

Acties:
  • 0 Henk 'm!

  • jaspara
  • Registratie: April 2008
  • Laatst online: 11-09 15:43
hiero? http://code.google.com/in...search/docs/snippets.html

Blijkbaar gewoon &output=xml archteraan de url plakken :)

[ Voor 31% gewijzigd door jaspara op 20-12-2010 22:43 ]