Ga naar de hoofdinhoud

Weergave en formattering van resultaten

Beschikbare formaten voor het opslaan van resultaten

Voor het formatteren van resultaten in A-Parser wordt de template engine Template Toolkit gebruikt, waardoor resultaten van gegevensextractie eenvoudig in verschillende formaten kunnen worden opgeslagen:

  • In tekstbestanden als lijst: één resultaat per regel, via een scheidingsteken, in een willekeurig formaat
  • In CSV-bestanden met de mogelijkheid tot verdere import in Excel, Google Docs, enz.
  • In XML, JSON en andere formaten voor gegevensopslag
  • In HTML door "on the fly" pagina's te genereren
  • In het formaat van SQL-dumps voor directe import in een database of door direct naar een SQLite-database te schrijven
  • In binair formaat voor het opslaan van afbeeldingen (jpg, png, gif, ...), documenten (pdf, docx, ...), uitvoerbare bestanden en archieven (exe, dmg, zip, ...) en alle andere soorten gegevens

Bewerken van het resultaatformaat

Result format (Resultaatformaat) - hiermee kunt u resultaten naar de gewenste vorm formatteren met behulp van sjablonen; dit wordt toegepast voor elke combinatie van query-resultaten.

Resultaatformaten
  • Het Algemene resultaatformaat wordt ingesteld in het veld Result format
  • Het Resultaatformaat voor elke scraper afzonderlijk kan worden ingesteld in de instellingen van de scraper bij Result format

A-Parser ondersteunt het werken met meerdere scrapers in één taak; in het algemene resultaatformaat moet worden aangegeven van welke scraper het resultaat moet worden weergegeven:

  • $p1 - resultaten van de eerste scraper (SE::GoogleSE::Google op de screenshot), $p2 - resultaten van de tweede scraper (SE::BingSE::Bing op de screenshot)
  • Het volgnummer van de scraper wordt links van het selectieveld van de scraper weergegeven
  • $p1.preset en $p2.preset houdt in dat de waarde van het resultaatformaat uit de instellingen van de betreffende scrapers moet worden genomen
  • In dit voorbeeld kan $p1.preset worden vervangen door $p1.serp.format('$link\n'), wat hetzelfde effect heeft, waarbij het resultaatformaat uit de instellingen niet meer wordt gebruikt

Het Result format (Resultaatformaat) kan worden opgegeven in een handige editor met meerdere regels door op het bijbehorende icoon in het bewerkingsveld te klikken:

Bewerkingsveld voor resultaatformaat

In het algemene resultaatformaat zijn de volgende variabelen beschikbaar:

  • $query - de query na formattering
  • $query.* - alle variabelen die betrekking hebben op de query, beschreven in het artikel Sjablonen in query's
  • $p1, $p2, ... - variabelen voor toegang tot de resultaten van de gegevensextractie voor elke scraper afzonderlijk (Bekijken van mogelijke resultaten voor elke scraper)
  • $p1.query, $p2.query, ... - query's na formattering rekening houdend met het queryformaat dat is opgegeven in de instellingen van elke scraper

Begin- en eindtekst

Voor elk resultaatbestand wordt een aparte Begin-/Eindtekst opgegeven:

  • Voor het vormen van de koptekst van een CSV-bestand
  • Voor de begin- en eindtags van een XML-bestand
  • Voor de header, koptekst en footer van HTML-bestanden
  • Voor alle andere toepassingsmogelijkheden

Om deze mogelijkheid te activeren, moet u op de knop More options (Meer opties) onderaan de Taakeditor klikken

Velden voor begin- en eindtekst

In de begin- en eindtekst wordt het gebruik van de template engine Template Toolkit ondersteund; beschikbare variabelen:

  • $query - de query na formattering
  • $query.* - alle variabelen die betrekking hebben op de query, beschreven in het artikel Sjablonen in query's
opmerking

Belangrijk! Deze variabelen zijn alleen beschikbaar bij het opslaan van elke query in een apart bestand of bij het gebruik van dezelfde variabelen in het Formaat van de resultaatbestandsnaam.

Formaat van de resultaatbestandsnaam

A-Parser maakt het mogelijk om sjablonen ook in de namen van de resultaatbestanden te gebruiken, waardoor automatisch bestanden en mappen kunnen worden aangemaakt op basis van de huidige datum, het volgnummer van de query, de query zelf en in elk ander formaat.

Veld Bestandsnaam

In het veld File name (Bestandsnaam) worden de volgende variabelen ondersteund:

  • Alle variabelen die beschikbaar zijn voor het Algemene resultaatformaat
  • $queriesfile - het pad en de naam van het bestand met query's; als query's via het formulier zijn opgegeven, zal dit queries_from_text.txt bevatten
  • $datefile - het object van de date plugin van de Template Toolkit template engine, ingesteld op het datumformaat %b-%d_%H-%M-%S; bij formattering geeft dit de huidige tijd en datum weer als May-08_20-08-38, het formaat kan worden gewijzigd in de Aanvullende instellingen

Standaard wordt de bestandsnaam aangemaakt op basis van de datum en tijd op het moment van de start van de taak

Complex voorbeeld

reports/$queriesfile/${query}.txt
  • Er wordt een map reports aangemaakt
  • Er wordt een submap aangemaakt met de naam van het querybestand
  • In de submap worden evenveel bestanden aangemaakt als er query's in de taak worden gebruikt; als bestandsnaam wordt de query zelf gebruikt met de extensie .txt
tip

De variabele $query is geschreven in het formaat ${query} om te voorkomen dat de extensie .txt wordt geïnterpoleerd als onderdeel van de variabele; meer details in de documentatie over de template engine Template Toolkit

⏩ Video. Naamgeving van resultaatbestanden

In deze video geven we enkele voorbeelden van de naamgeving van het resultaatbestand:

  1. Nummering van het resultaatbestand in overeenstemming met de query's.
  2. Nummering van het resultaatbestand + een deel van de querynaam.
  3. Naamgeving van het resultaatbestand op basis van de query, als de query een link is.

Bekijken van beschikbare resultaten

Elke scraper heeft zijn eigen set resultaten; u kunt de lijst met beschikbare resultaten bekijken door met de aanwijzer over de scraper te gaan; in de tooltip wordt een lijst met eenvoudige resultaten en arrays weergegeven, met een lijst van geneste elementen:

Lijst met beschikbare resultaten in de tooltip

In het geel zijn de resultaten gemarkeerd die algemeen zijn voor alle scrapers:

  • $query - de query die aan de scraper is doorgegeven na formattering
  • $query.orig - de originele query (zoals deze in het bestand of in het invoerveld voor query's stond)
  • $query.first - de eerste query bij gebruik van opties voor geneste gegevensextractie (Parse all results of Parse to level)
  • $info.success - informatie over het succes van de gegevensextractie voor deze query
  • $info.retries - het aantal gebruikte pogingen voor deze query
  • $info.stats - statistieken van de werking van de scraper voor deze query
  • $pages.$i.data - een array met onbewerkte antwoorden van de server voor de mogelijkheid om zelf extra informatie te extraheren
Groen gemarkeerd zijn de resultaten die alleen beschikbaar zijn voor de scraper SE::BingSE::Bing:
  • $totalcount - het aantal resultaten in de output
  • $ads met elementen $link, $anchor, $visiblelink, $snippet, $position en $page - een array met een lijst van advertenties
  • $related.$i.key - een array met een lijst van gerelateerde zoekwoorden
  • $serp met elementen $link, $anchor, $snippet, $cache - een array met de hoofdresultaten van de zoekmachine
opmerking

Let op dat voor arrays expliciet de variabele $i wordt aangegeven, wat betekent dat er meerdere elementen zijn en dat deze via een index (positienummer) kunnen worden aangesproken of per element in een lus kunnen worden doorlopen.

tip

Resultaat $pages.$i.data wordt automatisch gewijzigd in $data voor de scrapers die niet "door pagina's gaan" binnen één verzoek. Bijvoorbeeld zoals DeepL::TranslatorDeepL::Translator.

Weergave van resultaten

A-Parser is gemaakt voor de gegevensextractie van alle soorten informatie; hiervoor zijn 2 typen resultaten geïntroduceerd:

  • Eenvoudige resultaten (Flat)
  • Arrays van resultaten (Array)

Laten we elk type bekijken aan de hand van het voorbeeld van de scraper SE::GoogleSE::Google, screenshot van de resultaten:

Screenshot van Google-output

Eenvoudige resultaten

Simple results (Eenvoudige resultaten) - wanneer één query overeenkomt met één resultaat, voorbeelden:

  • Aantal resultaten per query ($totalcount)
  • Of de query een spelfout is ($misspell, niet weergegeven op de screenshot)

Andere voorbeelden:

  • De waarde van de vertaalde tekst ($translated) in de scraper DeepL::TranslatorDeepL::Translator
  • Het aantal verwijzende domeinen ($domains), de trustflow-waarde ($trustflow), backlinks ($backlinks) enz. in de scraper Rank::MajesticSEORank::MajesticSEO

Enkelvoudige resultaten worden opgeslagen in gewone variabelen (prefix $ + naam in Latijns schrift)

Arrays van resultaten

Arrays van resultaten - wanneer één query overeenkomt met een lijst van resultaten; elk element van de lijst kan op zijn beurt meerdere geneste elementen bevatten. Laten we dit bekijken aan de hand van het voorbeeld van Google-output - deze wordt in de scraper weergegeven door de array $serp; voor de duidelijkheid gebruiken we een tabel en noteren we de eerste 5 resultaten van de output:

Link ($link)Anker ($anchor)Snippet ($snippet)
http://www.speedtest.net/Speedtest.net by Ookla - The Global Broadband Speed TestTest your Internet connection bandwidth to locations around the world with this interactive broadband speed test from Ookla.
http://en.wikipedia.org/wiki/Test_cricketTest cricket - Wikipedia, the free encyclopediaTest cricket is the longest form of the sport of cricket. Test matches are played between national representative teams with "Test status", as determined by the ...
http://www.speakeasy.net/speedtest/Speakeasy Speed TestSaturday 03-May 2014, 11:04:29 AM Your IP: The Speakeasy Speed Test requires Flash v7 or higher. Please update your browser. See Pricing Or Call Today
http://www.humanmetrics.com/cgi-win/jtypes2.aspPersonality test based on C. Jung and I. Briggs Myers type theoryHumanmetrics Jung Typology Test™ instrument uses methodology, questionnaire, scoring and software that are proprietary to Humanmetrics, and shall not be ...
http://test-ipv6.com/Test your IPv6.This will test your browser and connection for IPv6 readiness, as well as show you your current IPV4 and IPv6 address. ... Test your IPv6 connectivity. JavaScript ...

Elke positie in de output wordt opgeslagen in een array met 3 geneste elementen - link ($link), anker ($anchor), snippet ($snippet)

Een ander voorbeeld - een lijst met gerelateerde zoekwoorden, die wordt opgeslagen in de array $related:

Zoekwoord($key)
test wwe
depression test
test my speed
wonderlic test
test personality
act test
jiggle test
bipolar test

Zoals te zien is, bevat deze array slechts één genest element - zoekwoord ($key)

De nummering van array-elementen begint bij 0, voorbeeld van toegang tot afzonderlijke array-elementen:

  • $serp.0.link - de eerste link uit de output
  • $serp.3.anchor - het vierde anker uit de output
  • $related.0.key - het eerste gerelateerde zoekwoord

Meer details over het formatteren van eenvoudige resultaten en arrays worden hieronder beschreven

Principes van formattering

Nadat de scraper gegevens heeft verzameld in eenvoudige resultaten en arrays, moeten deze in het gewenste formaat worden weergegeven (opgeslagen in een bestand). Voor gemak en functionaliteit gebruikt A-Parser de Template Toolkit sjabloon-engine. Laten we veelgebruikte constructies doornemen; hiervoor gebruiken we de tool Sjablonen testen. We kiezen een project voor de scraper SE::GoogleSE::Google:

Sjablonen testen

Op de screenshot worden 3 velden weergegeven:

  • JSON - de interne weergave van gegevens in de scraper
  • Template - het sjabloon volgens welke de formattering van het resultaat plaatsvindt
  • Result - de daadwerkelijk getransformeerde gegevens volgens het opgegeven sjabloon; in deze vorm wordt het resultaat in het bestand geschreven

Door het sjabloon te wijzigen, kunnen we de vorm van het resultaat veranderen; bekijk het volgende sjabloon:

Voorbeeld

Tekst in het veld Template (Sjabloon):

Rapport voor query: $query    
Concurrentie: $totalcount
Lijst met links, ankers en snippets:
$serp.format('$link $anchor\n$snippet\n\n')

Laten we de belangrijkste regels markeren:

  • Gewone tekst wordt ongewijzigd in het resultaat weergegeven
  • Voor de uitvoer van eenvoudige resultaten moet op de gewenste plaats de variabele met het gewenste resultaat en de prefix $ worden geplaatst
  • Voor het formatteren van arrays wordt de methode .format gebruikt, daarover hieronder meer
  • \n zorgt voor een regeleinde

Formatteren van arrays

Laten we de constructie ontleden:

$serp.format('$link $anchor\n$snippet\n\n')

Deze notatie betekent dat voor de array $serp de methode .format moet worden aangeroepen met de parameter '$link $anchor\n$snippet\n\n'. De methode .format verbindt alle elementen van de array tot een string volgens het sjabloon dat in de parameter is opgegeven; het sjabloon zelf betekent: voor elk element van de array $serp de link en het anker gescheiden door een spatie weergeven, vervolgens op een nieuwe regel de snippet weergeven, gevolgd door nog twee regeleinden, wat resulteert in een lege regel tussen de resultaten.

Gebruik van de template engine

Uitvoer van variabelen

Om de template engine te gebruiken, moeten de tags [% %] worden ingevoegd, en binnen de tags de logica die moet worden uitgevoerd.

CMS-uitvoer met gebruik van de template engineResultaat van CMS-uitvoer met gebruik van de template engine

Door een array lopen

Om elementen van een array weer te geven, moet de constructie FOREACH worden gebruikt:

[% FOREACH i IN p1.list;    
i.cms _ "\n";
END %]
tip

Meer informatie en voorbeelden over de template engine in Kenmerken van sjablonen in A-Parser.

Voorbeelden

Uitvoer van concurrentie

Weergave van de concurrentie per zoekopdracht (aantal resultaten per zoekopdracht) voor alle scrapers van zoekmachines (SE::GoogleSE::Google, SE::YandexSE::Yandex...).

Resultaatformaat:

$query: $totalcount\n

Voorbeeld van resultaat:

test: 3910000000
viagra: 278000000
pvc ramen: 3220000
...

Uitvoer van links uit de resultaten van zoekmachines.

Resultaatformaat:

$serp.format('$link\n')

Voorbeeld van resultaat:

http://www.speedtest.net/
http://www.speakeasy.net/speedtest/
http://en.wikipedia.org/wiki/Test_cricket
http://www.humanmetrics.com/cgi-win/jtypes2.asp
http://html5test.com/
http://test-ipv6.com/
...

Gegevensextractie van suggesties

Uitvoer van suggesties van zoekmachines.

Resultaatformaat:

$results.format('$suggest\n')

Voorbeeld van resultaat:

testserver tanks online
gia-tests voor de russische taal
pannenkoekenbeslag recept
testikel
pizzadeeg met melk

Uitvoer van gegevens over de query

In Net::HTTPNet::HTTP en daarop gebaseerde scrapers is aanvullende uitvoer beschikbaar:

  • $proxy - de proxy waarop de query is uitgevoerd

  • $headers - de headers van het antwoord

  • $code - de antwoordcode

  • $reason - de status van het antwoord

Voorbeeld

Uitvoer van variabele waarden in JSON

Methode .json voor objecten

Uitvoer van alle redirects van een query

Voor deze taak is de variabele $response beschikbaar, waarmee alle variabelen van de query kunnen worden opgehaald, inclusief alle voorgaande redirects.

Resultaatformaat:

$response.Redirects.format('$URI\n--> ')$response.URI

Resultaat van de werking van de scraper:

Voorbeeld

Uitvoer in JSON met gebruik van de template engine voor het noteren van de datum

Het voorbeeld toont de uitvoer van de resultaten van de scraper Net::WhoisNet::Whois in JSON-formaat.

Voorbeeld

Het resultaat zal het domein zijn dat is gecontroleerd, de datum op het moment van controle en het resultaat van de controle. Zoals te zien is in het Resultaatformaat, verkrijgen we de datum met behulp van de template engine Template Toolkit.

Resultaatformaat:

{    
"domain": "$query",
"date": "[% USE d = date(format = '%d.%m.20%y', locale = 'C');d.format() %]",
"expire": "$p1.expire_date",
},

Voorbeeld van resultaat:

[{
"domain": "a-parser.com",
"date": "05.05.2021",
"expire": "25.02.2022",
},
{}]
Voorbeeld downloaden

Hoe een voorbeeld te importeren in A-Parser

eJxtVG1v2jAQ/ivWCUQrZaxM2pdM+0BRkTYx6ErRPgQ0efWFeXXszHYYVZT/3nMS
EtruQyTf23P33EtK8Nw9uluLDr2DOCkhr98QwxJ9HP/4baRj79jNkWe5QjaBCHJu
HdrgnZw5kUFgygvlYbeLgFDo6ebGZjyglVvNGNuCMBmXegsxvQd/C7RPW4hONu6x
sSRDtlnfMME+s6C8SGsYkkZDMR5m4w9Xw6dRxJR54FQUqWejy09i3LhdXLLhrkfF
Yy5tizvIJ+NG/tkkI6eKPugKXvMD3hsqOJUKe/WcpCXPkAyDEBmsXbqxP3py5UJI
L43mqmEdOtR3YqMl0aV4bcg3MJfo5tZkfa66HaeOJW17gCCKOvZ7EwNxypXDCByV
OucUKl5bpEfLvbGrPNRD+hKMniq1wAOq3q3Gvy6kEjTOaUpBX9rA/7us3mBUHb3z
VAe0/yzVALG3BYHUwvXqWx8kzMLsibj4RbSVzKQn2c1MocOuXJHyETHvWrYMLcuM
xS5LA9zmpvXNUQtyTPqJTfNWV1Y7eEXkxWBeKh+MTuV+RRSsFHjyLPQ93clKz0y4
gsBMF0rRYBze9Qsyde0ggtC18E3wrE4R2Lf3EoE3Rrmva9KF+7KSFvBjKDCjXp5n
bSFp69XmbnFugbOlqrMnJ/F9c3Ku3tLAkNZ3b2ixiFq16865+weU50cdlxWN64+7
bZwCdK2MgDrkaBYQT6pnHsF5pA==

Website controleren op aanwezigheid in Google Nieuws op basis van zoekwoord

Voorbeeld van controle op aanwezigheid van een website in Google Nieuws op basis van zoekwoord

Resultaatformaat:

[% linksToOneString = p1.serp.format('$link. ');
matches = linksToOneString.match('.+?(' _ p1.query.domain _ ').+?');

IF matches.0;
p1.query.orig _';yes' _ "\n";
ELSE;
p1.query.orig _';no' _ "\n";
END %]

Voorbeeld van resultaat:

google scraper|a-parser.com;no
google scraper|forbes.ru;yes
Voorbeeld downloaden

Hoe een voorbeeld te importeren in A-Parser

eJylVVFv2jAQ/iuR1YpWo1EQ7UuqaaIMpk6stKV9AoRccqQeju3aCQVR/vvOTkjS
ruNlEoq4u+++O9+dz1uSUrM0txoMpIaE4y1R7j8JyagXhj+kjDl4Z173GeZLL5IJ
ZcLDX2EQ8Go8WNNEcSBNoqg2oC3PuOaOhggWNOMpaW5JulGA7HIFWrPIGlmEsqIx
zGUmEENWlGeIae3+DccwqkIS8WrIATRnYmkUumCQGn9wwCXmNfr7x0Psz3Wozg4m
omtQTkU8O4xXWq43GlLNwNQ8W0EQkN102iTYLKyr6UudUNu08fFEuNM+yKGAETqK
2PvqqZZvK+YvHO6kcWQxvtc4vZwIVMyfwSDqo6PvTCcN/8u3k4Y3sywvGeiNX8zB
DAnQ5lg+CTvzJmSCFuLM132viOQHqCi5pGYIbVxuwDTeufQGo95nQCE/4G6+T8Tx
lJTFGNEVPEgsxoK54dvXCKUbmtj6HUU0BWvdF+TUT9d28mgUsZRJQXleUTvKVZUf
BXvJx00i1maFbelrmaAqBUfgUt13Y0yOnEyQInO+d7kPCReUG2gSg6n2KSYSlZZU
Z2hgKWiaSj1UNh1Ub4kUHc4HsAJe+Tv6q4zxCK9dZ4FO14Xj55DhXxy78nT1UDiG
rxpzKFmcdDX8VXlFciBjPHj0hMfmLGEpyqbrrnBIAlQuAVRZshtbskRqKMMUzEV0
XEEKhJ35qmMdVaneHcMtKiMzPbfUeY2b+ztk3PSNFGe2IQZwKeUFIW8WJG1f9i75
IJPprmpyLQYq51IsWDwsruV+HDLxgGtzKLrSLj5bJpFxjk02cF8NW8cUTbVCdd6P
zl0XwlZyvyQxScnNz1F+cqUZ5nxhE0ywMfWoBeWccv54P6hbSDWgKEyy4Ly9cN/A
fs/zb8tpLnKN54S2E9rV//bTGz3L97o/lwneuf/iwvv2hBsAt55NO4VYYh9sN939
CUkvf0vssoO1oiKCKL8SO9ej4oEp36tt/ZkJtzucy9/mNgfZqlsI6rB9BofOPil/
AGn6WSM=

Uitvoer van timestamp waarde in datumformaat

Soms bevatten de resultaten geen gewone datum, maar een timestamp-waarde zoals in de scraper Social::Instagram::TagSocial::Instagram::Tag. Deze waarde kan in een datumformaat worden weergegeven met behulp van de Template-Toolkit sjabloon-engine.

Voorbeeld van uitvoer van timestamp waarde in datumformaat

Resultaatformaat:

[% USE date;

query.orig _ ": total posts - " _ postscount _ "\nPosts:\n";

FOREACH i IN posts;
d = date.format(i.time, format => '%d.%m.20%y');
i.link _ " - " _ d _ ":\n";
i.text _ "\n";
END %]

Voorbeeld van resultaat:

sport: total posts - 96500663
Posts:
https://www.instagram.com/p/COfJHshAkeD/ - 05.05.2021:
Quelques exemples de notre nouvelle campagne de communication personnalisable avec le nom des clubs 😀

Vous préférez quel visuel : 1, 2, 3, 4, 5 ? 🤔

#clubnormand #tennis #padel #beachtennis #tenniscourt #padelcourt #beachtenniscourt #lnt #LigueNormandieTennis #🎾 #sport #normandie #normandietourisme
https://www.instagram.com/p/COfJG7olavg/ - 05.05.2021:
💥 Sau màn lật đổ “Bà già” thành công, Nửa xanh thành Milan chính thức vượt qua Nửa đỏ về số lần lên đỉnh nước Ý nhiều nhất lịch sử.
-----------------------------
➖ Website: https://webthethao247.com/
➖ https://g.page/webthethao247?share
#wtt247 #webthethao247 #thethao #sport #bongda #SerieA #InterMilan #Juventus #ACMilan
https://www.instagram.com/p/COfJG1Hg7ax/ - 05.05.2021:
Which Skill was better 1 or 2? 🤔👇
Follow @ftb4ll for more 💥
Follow @ftb4ll for more 💥
Follow @ftb4ll for more 💥
________________________________________
Leave a Like 👍🏽
Subscribe for more 🔔
Leave your thoughts in the Comments  💬
________________________________________
❌Ignore the Tags ❌
#football #soccer #fussball #futbol #fifa #championsleague #bundesliga #ucl #footballmemes #goal #transfer #sports #penalty #ultimateteam #pacybits #fut #ultras #laliga #freekick #referee #sport #calcio #messi #ronaldo #skills #premierleague #foul #footballseason
https://www.instagram.com/p/COfIlXqhfAa/ - 05.05.2021:
Be Fuckin’ Ready 🤣🤣🤣

Get ready to fly!!!! 🏐🏐🏐🏐

Follow - @crackonkings

#beachball #nalin&kane #trance #music #90s #onyerhead #festival #party #afterparty #love #summer #uk #happy #sesh #crackon #football #sport #festivaloutfit #festivalfashion #sun #dj #dancing #club #festivalgirl #house #techno #rave
...
Voorbeeld downloaden

Hoe een voorbeeld te importeren in A-Parser

eJx1VNtuGjEQ/RXLCkoj0VVSqS9bpRKhoFJRNuXyxKLKxQa58dqO7aVBiH/vjPeW
pM0+7RzPzDlzsU80MP/g753wIniark/Uxn+a0oXZSqbSdKJ9YHvHijRdsj15T5ay
EAAVlgRDOAuCiCewlKB9apnzwmGm9RsJwImLHStVoP0TDUcrgMschHOSYwbJwd4Z
V7AASqIbPTBVotu6R1aLUeT8lOtcP5bCHRPj5J78JDlNQVBgiljjgwehOQU4GltT
6hB98lzfI5LCT05jlnE2Hw2GX4kkk1nljnDg5DYyJZWYdzIJUHifVCa5/Uwuezzp
FcmH697x8gpiCHwyUVI/RKpGAa/ENYSVVxBPraAIj2ZfSG9Dz5tNn1aF+3Fkgrov
7E1Sz6U9XLCDWBrslYydb2LAmrECu3WB6vG0qeAqCU+YgXEugzSaqYoBx9WxrrR8
jN3WBnyxxVL4sTMFQKi6Bo+NujW9iDaFFGWM/VHF0HTHlBd96kHqmIEQ/vpEBuFY
MC6zqAfwEzV6oNRUHITq3GL+u1IqDrs12EHQpA78v0v2T45zW95zKti6Pw40tFmi
dZd976K4mZo9VM5/Qd1KFjKA7Ye4T4BeA/gghG17NsOeFcaJlqbOXLPDTbNC44p3
IxvYDnpRxouxvAS3Ru/kPquvTeNZ6iVc50wPDV5HrEuXSsFYvJh36zHw9RjQ6AS+
Dh5GCiy9ua40GKP8t0Ul1ToJ6/cRBRbQyeesdcotU2o1nz4/wUAfjM30yLlX44uL
Qb01Drm2sLx7A2sFpZ037cvSPlWnt96X9HSGuf3291UAFonugEG3PAyFpjfnvwdy
t1Y=

Andere voorbeelden

Voorbeelden van veelgebruikte sjablonen