Sonuç Filtreleri
A-Parser'da sonuçları belirli kurallar dizisine göre filtreleme ve sonuçlara yalnızca gerekli verileri kaydetme imkanı mevcuttur.
Filtreleme kullanımı
Temel uygulama seçenekleri:
- Yalnızca belirli bir dize girişini (örneğin CMS belirtisi) içeren bağlantıları kaydetme
- Alan adı veritabanını belirli parametrelere göre filtreleme (örneğin Yandex IKS 300'den büyük, dil RU)
- Sunucudan gelen yanıtı kontrol etme (örneğin 200 OK veya belirli başlıkların içeriği)
- Snippet içinde orijinal sorgunun bulunup bulunmadığını kontrol etme
- Sonuçların belirli koşullara göre sınırlandırılması gereken diğer tüm uygulama seçenekleri
Filtreler, Görev Düzenleyici'de ilgili veri kazıyıcının karşısındaki araç simgesine tıklanarak eklenebilir:

Filtreleme türleri
Hem tekil sonuçlar hem de sonuç dizileri filtrelenebilir. Birkaç filtre türü mevcuttur:
- Dizelerin eşitliği veya eşitsizliğine göre
- Alt dizenin varlığına veya yokluğuna göre
- Düzenli ifadeye uygunluk veya uygunsuzluğa göre
- Sayısal değerler büyüktür, küçüktür ve eşittir şeklinde filtrelenebilir
Ayrıca bakınız: Sonuçların gösterimi
Çalışma özellikleri
- Sonuç dizileri filtrelenirken, dizide yalnızca filtreye uyan sonuçlar kalır
- Basit sonuçlar filtrelenirken, eğer sonuç filtreye uymazsa, birden fazla veri kazıyıcı kullanıldığı durumlar dahil olmak üzere bu sorgu için sonuç tamamen atlanır
- Bir görevde iki veya daha fazla filtre kullanıldığında aralarında mantıksal VE uygulanır, başka bir deyişle sonuç ancak tüm filtrelerin koşullarına aynı anda uyduğunda kaydedilir
- Değer belirtme alanında (dize, düzenli ifade veya sayısal değer) karşılaştırma yaparken Template Toolkit şablonlayıcısı kullanılabilir, Genel sonuç formatı için geçerli olan tüm değişkenler mevcuttur
Örnekler
Sayfadaki metne göre filtreleme
Sayfada belirli bir metnin bulunup bulunmadığına göre site veritabanını kontrol etme
Sorgu olarak bağlantıların bulunduğu bir dosya kullanıyoruz, sonuç olarak aranan metnin geçtiği bağlantıların bulunduğu filtrelenmiş bir dosya alıyoruz.
İstenen sayfayı indirmek için
Net::HTTP veri kazıyıcısını kullanıyoruz, sonuç olarak sorguyu (kontrol ettiğimiz bağlantıyı) kaydediyoruz. $data sonucunu - indirilen sayfanın içeriği - filtreliyoruz, filtre türü olarak Contain string seçeneğini belirliyor ve dizenin kendisini giriyoruz:

Resimleri boyuta göre filtreleme
Resimleri çözünürlüğe göre filtreleme
SE::Google::Images üzerinden veri çekme işlemi yaparken görsel yüksekliğini ve genişliğini filtreliyoruz, yalnızca **500x500** pikselden büyük olan görselleri kaydediyoruz:
Birkaç özelliğe göre filtreleme
Bağlantıları birkaç farklı dizeden herhangi birinin varlığına göre filtreleme
Bağlantıları birkaç farklı dizeye göre filtrelemek için düzenli ifadeleri belirtme imkanından yararlanacağız, bunun için birkaç özelliği bir ayırıcı ile yazıyoruz:
showthread\.php
/forum/
viewtopic\.php\?t=
Düzenli ifadelerin bir dizi karakterin kaçış karakteri ile kullanılmasını gerektirdiğini unutmayın

Filtrede sorgu kullanımı
Orijinal sorguyu içeren Google snippet'lerini kaydetme
Karşılaştırma dizesi olarak sorguyu içeren değişken olan [% query %] ifadesini açıkça belirtiyoruz, büyük/küçük harfe duyarlı alt dize araması için Sensitive seçeneğini seçiyoruz:
