Een boekenzoekmachine maken

Het komt wel eens voor dat ik een review over een artikel, bijvoorbeeld een boek dat in de  aanbieding is, zoek. Vaak heb ik dan één site die ik vertrouw, maar soms wil ik zoeken in een paar sites, maar in andere sites echt niet. Je kunt bijvoorbeeld zoeken in Google op: "review +zoekterm", maar dan krijg je veel resultaten uit webwinkels. En die zijn niet altijd objectief. Het zou fijn zijn als je hiervoor alleen op bepaalde speciale sites kunt zoeken. In google kan dat, door bijvoorbeeld:

site:www.tzum.info OR site:www.goodreads.com OR site:www.hebban.nl OR site:literatuurplein.n OR site:www.vpro.nl/boeken OR site:www.boekmeter.nl Amerikaanse Prinses

in je zoekbox tikken. Je krijgt dan een heel redelijk stel resultaten. Alleen is het een behoorlijk tikwerk als je dit iedere keer moet doen.

Het is dan ook mogelijk, om je eigen zoekmachine te maken in Google, die je helemaal kun instellen. Je hebt hiervoor wel een Google account nodig. Als we dan onze eigen zoekmachine werkend hebben, kunnen we hem daarna in het zoekveldje van je browser plaatsen. Wat je hiervoor allemaal moet doen, laat ik je nu zien.

"Customized Search Engine"

Google geeft je dus de mogelijkheid om je eigen zoekmachine te definiëren. Je kunt dan de zoekresultaten beperken tot bijvoorbeeld je eigen site. Je kunt dan ook zo'n Google zoekvakje op je site zetten, die gaat zoeken volgens jouw zoekmachine. Zo wordt het vaak gebruikt. Maar je kunt deze mogelijkheden ook gebruiken voor je eigen persoonlijke zoekmachine.

Laten we eens zo'n aangepaste zoekmachine maken.

We gaan eerst naar https://www.google.com/cse/.

CSE_NieuwMaken

Het lijkt of je maar één site kunt opgeven, maar zodra je er een hebt ingevuld verschijnt er een tweede regel. Een voorbeeld:

CSE_defiinitieSitesEnNaam

Als je op "maken" klikt, dan kun je meteen de code die nodig is ophalen door op de knop "code ophalen" te drukken. Met de knop "openbare url" kun je de url ophalen en in je browser laten werken. Op deze manier kun je de zoekmachine al uitproberen. Als je niet helemaal tevreden bent over het uiterlijk of de "look and feel", dan klik je op "Configuratiescherm". De instellingen kun je te allen tijde aanpassen. Als je snel wilt werken laat je gewoon alles staan zoals het stond. Uiteindelijk druk je op de knop "bewaar en toon code". Mocht je later nog iets willen aanpassen dan ga je gewoon terug naar het instellingenscherm en pas je de zaken aan die je anders wil zien. Neem na de aanpassingen wel nog de nieuwe code mee.

CSE_Gefeliciteerd

Het configuratiescherm.

CSE_instellingen

Wat te doen met die code? Deze code is bedoeld om in een webpagina te zetten. Voor ons voorbeeld kunnen we het ook gewoon in een bestand op onze computer zetten. Als het maar een bestand is met de extensie html, zodat de browser het kan lezen.

CSE_Code
<!DOCTYPE html>
<html>
<head>
<link rel="search" type="application/opensearchdescription+xml" href="http://peaster.home.xs4all.nl/searchBoeken/searchBoeken.xml" title="searchBoeken">  
<!--<link rel="search" type="application/opensearchdescription+xml" href="https://developer.mozilla.org/en-US/search/xml" title="Mozilla Developer Network">  -->  
</head>
<body>
<title>Boeken Zoeken</title>
<script>
  (function() {
    var cx = '002067918850842033972:ccyess96opu';
    var gcse = document.createElement('script');
    gcse.type = 'text/javascript';
    gcse.async = true;
    gcse.src = 'https://cse.google.com/cse.js?cx=' + cx;
    var s = document.getElementsByTagName('script')[0];
    s.parentNode.insertBefore(gcse, s);
  })();
</script>
<gcse:searchresults-only></gcse:searchresults-only>
</body>
</html>

Niet de bedoeling

Als je goed kijkt dan zie je dat hier de "gcse"-tag veranderd is in "gcse:searchresults-only". Zo kunnen we van deze zoekmachine een applicatie maken die vanuit een url de zoekopdracht uitvoert. En dat is nodig om de zoekmachine in je browser te zetten. Hoewel Google deze "Customized Search Engine" (CSE) daar niet voor bedoeld heeft, kunnen we hier toch handig gebruik van maken.

Dubbelklik op het html-bestand dat je op je computer heb opgeslagen. Nu zie je in de browser een lege pagina. Kopieer de url hiervan en voeg daar "?q=%s" aan toe.

file:///C:/Users/Peter/Documents/BoekenZoeken.html?q=%s

Hiermee kun je in Google Chrome een zoekmachine toevoegen.  Als je nu in Chrome deze pagina bekijkt: ga naar chrome://settings/searchEngines en scroll helemaal naar beneden. Daar kun je een zoekmachine toevoegen. Voeg deze toe met een door jou gekozen naam, bijvoorbeeld Boeken, en een door jou gekozen sleutelwoord, bijvoorbeeld boeken, en de url die je zonet gemaakt hebt.

Vervolgens maak je deze even je standaard zoekmachine door met de muis over deze regel te bewegen en de keuze te activeren. Nu staat hij bij je Zoekmachines ( en niet bij de "Andere zoekmachines"). Zet daarna je oude standaardzoekmachine weer terug, bij mij was dat Google. Ik neem aan dat deze zoekmachine alleen in speciale gevallen gebruikt wordt.

CSE_ChromeSELijst

Heb je alles opgeslagen? Nu kun je door eerst "boeken" te typen in de "omnibox" van Google Chrome deze zoekmachine activeren, en op boekenreviews zoeken!

CSE_ChromeOmibox

openSearch

Voor Firefox moet je iets extra doen. Helaas! Je moet hiervoor in je kleine webpagina de zoekmachine uitleggen voor Firefox, en dat doe je dan in een apart XML-bestand. Tja. Firefox is wel mijn standaardbrowser, dus ik neem dan toch die extra moeite. Eerst maak je deze zoekmachine-uitleg voor Firefox en bewaart het in een bestandje met de extensie xml. Bijvoorbeeld searchBoeken.xml.  In de html-pagina die je gemaakt hebt, en die Firefox inleest als je pagina opgeroepen wordt, vertel je dat er iets speciaals aan de hand is: er is een zoekmachine op deze pagina! Dan wijs je naar deze pagina, zodat Firefox het kan lezen, en als Firefox het goed vindt, dan komt er een groen plusje te voorschijn bij het vergrootglas in et zoekveld rechtsboven. Daarmee kun je dan je zoekmachine toevoegen.

Laten we hiervoor de html toch maar even op internet zetten. Misschien heb je al een pagina over boeken, en dan past het meteen goed op je pagina.

Hoe leg je Firefox uit dat je een zoekmachine hebt? Dit kun je in html in de head-sectie doen. We doen dus nu even alsof we het XML-bestandje, dat de zoekmachine uitlegt, al hebben gemaakt.

Hoe ziet dat xml-bestandje er dan uit? Je kunt zo'n xml genereren door naar de site  Mycroft te gaan en in het formulier de dingen in te vullen die je nodig hebt. "Generate plugin" maakt dan een mooie XML. Dit kun je kopiëren in een teksteditor en klaar zetten op de blabla-site, waar je hierboven in de html naar hebt gerefereerd. Maar je kunt ook onderstaande code gebruiken en voor blabla je eigen site invullen.

BoekenZoekMachineXml

En ja hoor! Dat is altijd zo leuk, de kick die je krijgt als het werkt.

CSE_PlusjeToevoegen

Een groen plusje! Eerlijk gezegd duurde het even voordat ik dat plusje kreeg. Je moet heel precies zijn met die XML, anders vindt Firefox het maar niks. En jammer genoeg is Firefox zo bescheiden dat ie niet schreeuwt als er iets mis is aan je site. Maar goed, jij kunt het kopiëren en hopelijk gaat het dan wel goed. Druk dan op dit groene plusje om deze zoekmachine "searchBoeken" toe te voegen.

Veel plezier met zoeken naar je boeken!

CSE_FFEindresultaat