Hoppa till huvudinnehåll

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:

Alternativet Filter i Uppgiftsredigeraren

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
tips

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::HTTPNet::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:

Exempel på filtrering efter text på sidan

Filtrering av bilder efter storlek

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

Exempel på filtrering av bilder efter storlek

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=
anteckning

Observera att reguljära uttryck kräver att vissa tecken maskeras (escapas)

Exempel på filtrering efter flera kriterier

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:

Exempel på användning av sökord i filter