Resultatfilter
I A-Parser finns det möjlighet att filtrera resultat baserat på en uppsättning specifika regler och endast spara nödvändiga data i resultatet.
Användning av filtrering
Huvudsakliga användningsområden:
- Spara endast de länkar som innehåller en viss strängförekomst (t.ex. ett tecken på CMS)
- Filtrering av domändatabaser enligt specifika parametrar (t.ex. Yandex IKS från 300, språk RU)
- Kontroll av svar från servern (t.ex. 200 OK eller innehåll av specifika rubriker)
- Kontroll om det ursprungliga sökordet finns i snippet
- Alla andra användningsfall där det krävs att begränsa resultaten enligt vissa villkor
Filter kan läggas till i Uppgiftsredigeraren genom att klicka på verktygsikonen bredvid den önskade scrapern:

Typer av filtrering
Det går att filtrera både enskilda resultat och matriser av resultat. Det finns flera typer av filter:
- Efter likhet eller olikhet mellan strängar
- Efter förekomst eller avsaknad av en delsträng
- Efter matchning eller icke-matchning med reguljära uttryck
- Numeriska värden kan filtreras efter större än, mindre än och likhet
Se även: Resultatvisning
Funktionsegenskaper
- Vid filtrering av matriser av resultat behålls endast de resultat i matrisen som matchar filtret
- Vid filtrering av enkla resultat, om resultatet inte matchar filtret, hoppas hela resultatet för den aktuella frågan över, även när flera scrapers används
- Vid användning av två eller flera filter i en uppgift tillämpas logiskt OCH mellan dem, med andra ord sparas resultatet om det matchar villkoren i alla filter samtidigt
- Vid jämförelse i fältet för värdeangivelse (sträng, reguljärt uttryck eller numeriskt värde) kan mallmotorn Template Toolkit användas; alla variabler som är tillgängliga för Allmänt resultatformat kan användas
Exempel
Filtrering efter text på sidan
Kontroll av webbplatsdatabas för förekomst av specifik text på sidan
Som frågor använder vi en fil med länkar, och som resultat får vi en filtrerad fil med länkar där den sökta texten förekommer.
Vi använder scraper
Net::HTTP för att hämta den sökta sidan, och sparar begäran (länken vi kontrollerar) i resultatet. Vi filtrerar resultatet $data - innehållet på den nedladdade sidan, ställer in filtertypen Contain string och anger själva strängen:

Filtrering av bilder efter storlek
Filtrering av bilder efter upplösning
Filtrera höjd och bredd på bilden vid dataskrapning via
SE::Google::Images, spara endast de bilder som är större än 500x500 pixlar:

Filtrering efter flera kriterier
Filtrering av länkar efter förekomst av någon av flera olika strängar
För att filtrera länkar efter flera olika strängar använder vi möjligheten att ange reguljära uttryck, genom att skriva flera kriterier med en separator:
showthread\.php
/forum/
viewtopic\.php\?t=
Observera att reguljära uttryck kräver att vissa tecken maskeras (escapas)

Användning av sökord i filter
Spara Google-snippets som innehåller det ursprungliga sökordet
Som sträng för jämförelse anger vi uttryckligen [% query %] - variabeln som innehåller sökordet, och väljer Sensitive för att söka efter delsträngen med hänsyn till stora och små bokstäver:
