Ayarlar
A-Parser aşağıdaki ayar gruplarını içerir:
- Global Settings - programın temel ayarları: dil, şifre, güncelleme parametreleri, aktif görev sayısı
- Config Presets - görevler için iş parçacığı ayarları ve deduplikasyon yöntemleri
- Parser Presets - her bir veri kazıyıcıyı ayrı ayrı yapılandırma imkanı
- Proxy kontrol ayarları - proxychecker için iş parçacığı sayısı ve tüm ayarlar
- Advanced Settings - ileri düzey kullanıcılar için isteğe bağlı ayarlar
- Task presets - görevlerin daha sonra kullanılmak üzere kaydedilmesi
Tüm ayarlar (genel ve ek ayarlar hariç) preset adı verilen önceden kaydedilmiş ayar setlerine kaydedilir, örneğin:
SE::Google veri kazıyıcı için farklı ayar şablonları - biri 10 sayfa maksimum derinlikte bağlantı veri çekme için, diğeri ise sorgu bazlı rekabet değerlendirmesi için 1 sayfa veri çekme derinliği- Farklı proxychecker ayar presetleri - HTTP ve SOCKS proxyler için ayrı ayrı
Tüm ayarlar için bir varsayılan (default) preset mevcuttur, bu değiştirilemez; tüm değişiklikler yeni isimlerle presetlere kaydedilmelidir.
Genel ayarlar

| Parametre adı | Varsayılan değer | Açıklama |
|---|---|---|
| Password | Şifre yok | A-Parser giriş için şifre belirleyin |
| Language | English | Arayüz dili |
| News & Tips | English | Haberlerin ve ipuçlarının dili |
| Enable tips | ☑ | İpuçlarının görüntülenip görüntülenmeyeceğini belirler |
| Check updates | ☑ | Yeni bir güncellemenin mevcut olup olmadığı bilgisinin Durum çubuğunda gösterilip gösterilmeyeceğini belirler |
| Save window size | ☐ | Pencere boyutunun kaydedilip kaydedilmeyeceğini belirler |
| Updates channel | Stable | Güncelleme kanalı seçimi (Stabil, Beta, Alfa) |
| Tasks per page | 5 | Görev kuyruğundaki sayfa başına görev sayısı |
| Max active tasks | 1 | Maksimum aktif görev sayısı |
| Total threads limit | 10000 | A-Parser genel iş parçacığı limiti. Genel iş parçacığı limiti görevdeki iş parçacığı sayısından azsa görev başlamaz |
| Dynamic thread limit | ☐ | Dinamik iş parçacığı limiti kullanılıp kullanılmayacağını belirler |
| CPU cores (task processing) | 2 | Görevlerin farklı işlemci çekirdeklerinde işlenmesi desteği (yalnızca Enterprise lisansı için). Aşağıda daha detaylı açıklanmıştır |
| CPU cores (result processing) | 4 | Birden fazla çekirdek yalnızca filtreleme, Sonuç Oluşturucu ve Parse custom result işlemlerinde kullanılır (tüm lisans türleri) |
| Memory Saver | Best speed | Veri kazıyıcının ne kadar bellek kullanabileceğini belirlemenizi sağlar (Best speed / Medium memory usage / Save max memory). Daha fazla bilgi... |
CPU çekirdeği (görev işleme)
Görevlerin farklı işlemci çekirdeklerinde işlenmesi desteği, bu özellik yalnızca Enterprise lisansı için mevcuttur.
Bu seçenek, kuyruktaki birden fazla görevin işlenmesini (defalarca) hızlandırır (Settings -> Max active tasks), ancak tek bir görevin yürütülmesini hızlandırmaz.
Ayrıca, her bir işlemin CPU yüküne bağlı olarak görevlerin iş çekirdeklerine akıllıca dağıtılması uygulanmıştır. Kullanılan işlemci çekirdeği sayısı ayarlarda belirlenir, varsayılan - 2, maksimum - 32'dir.
İş parçacıklarında olduğu gibi, çekirdek sayısı seçimine deneysel olarak yaklaşmak en iyisidir; 4 çekirdekli işlemciler için 2-3 çekirdek, 8 çekirdekli işlemciler için 4-6 çekirdek vb. makul değerlerdir. Çok sayıda çekirdek ve yüksek yüklenme durumunda, ana kontrol işleminde (aparser/aparser.exe) %100 yüklenme oluşabileceği ve bu durumun görev işleme süreçlerinin daha fazla artırılmasının yalnızca genel bir yavaşlamaya veya kararsız çalışmaya neden olacağı unutulmamalıdır. Ayrıca, her bir görev işleme sürecinin %300'e kadar ek yük oluşturabileceği (yani aynı anda 3 çekirdeği %100 yükleyebileceği) unutulmamalıdır; bu özellik JavaScript v8 motorundaki çok iş parçacıklı çöp toplama (garbage collection) işlemiyle ilgilidir.
İş parçacığı ayarları
A-Parser'ın çalışması çoklu iş parçacığı veri işleme prensibine dayanır. Veri kazıyıcı, görevleri paralel olarak ayrı iş parçacıklarında yürütür ve bunların sayısı sunucu yapılandırmasına bağlı olarak esnek bir şekilde değiştirilebilir.
İş parçacıklarının çalışma açıklaması
İş parçacıklarının pratikte ne olduğunu anlayalım. Diyelim ki üç aylık bir rapor hazırlamanız gerekiyor.
Seçenek 1
Raporu önce 1. ay için, sonra 2. ay için ve ardından 3. ay için hazırlayabilirsiniz. Bu, tek iş parçacıklı çalışmaya bir örnektir. Görevler sırayla çözülür.
Seçenek 2
Her biri birer aylık rapor hazırlayacak üç muhasebeci tutun. Ardından üçünden sonuçları aldığınızda genel bir rapor oluşturun. Bu, çoklu iş parçacığı çalışmasına bir örnektir. Görevler aynı anda çözülür.
Bu örneklerden görülebileceği gibi, çoklu iş parçacığı çalışması görevi daha hızlı tamamlamayı sağlar, ancak aynı zamanda daha fazla kaynak gerektirir (1 yerine 3 muhasebeciye ihtiyacımız var). Çoklu iş parçacığı A-Parser da benzer şekilde çalışır. Diyelim ki birkaç bağlantıdan bilgi çekmeniz gerekiyor:
- tek iş parçacığında uygulama her siteyi sırayla kazıyacaktır
- çoklu iş parçacığında her biri kendi bağlantısını işleyecek, bitirdiğinde listedeki bir sonraki işlenmemiş bağlantıya geçecektir
Böylece ikinci seçenekte tüm görev önemli ölçüde daha hızlı tamamlanacaktır, ancak bu daha fazla sunucu kaynağı gerektirir, bu nedenle Sistem gereksinimlerine uyulması önerilir
İş parçacığı ayarları
A-Veri Kazıyıcı'da iş parçacığı ayarları, bir görevin yerine getirilmesi için gereken parametrelere bağlı olarak her görev için ayrı ayrı yapılır. Varsayılan olarak 2 iş parçacığı yapılandırması mevcuttur: 20 ve 100 iş parçacığı, sırasıyla default ve 100 Threads için.
Seçilen yapılandırmanın ayarlarına girmek için kalem simgesine tıklamanız gerekir, ardından ayarları açılacaktır.

Ayrıca iş parçacığı ayarlarına şu menü öğesinden de gidilebilir: Settings -> Config Presets
Burada şunları yapabiliriz:
- kendi ayarlarımızla yeni bir yapılandırma oluşturup kendi adıyla kaydedebiliriz (Yeni ekle butonu)
- açılır listeden seçerek mevcut bir yapılandırmada değişiklik yapabiliriz (Kaydet butonu)

İş parçacığı sayısı (Threads count)
Bu parametre, bu yapılandırma ile başlatılan görevin çalışacağı iş parçacığı sayısını belirler. İş parçacığı sayısı herhangi bir değer olabilir, ancak sunucunuzun kapasitesini ve eğer varsa proxy tarifesi kısıtlamasını göz önünde bulundurmalısınız. Örneğin, bizim proxylerimiz için seçilen tarifeden fazlasını belirtemezsiniz.
Ayrıca, veri kazıyıcıdaki toplam iş parçacığı sayısının, çalışan görevlerin ve proxy kontrolü açık olan proxy denetleyicilerin toplamına eşit olduğunu unutmamak önemlidir. Örneğin, 20 iş parçacıklı bir görev ve her biri 100 iş parçacıklı iki görev çalışıyorsa ve ayrıca 15 iş parçacığında proxy kontrolü yapan bir proxy denetleyici çalışıyorsa, veri kazıyıcı toplamda 20+100+100+15=235 iş parçacığı kullanacaktır. Bu durumda, proxy tarifesi 200 iş parçacığı için tasarlanmışsa, birçok başarısız istek olacaktır. Bunlardan kaçınmak için kullanılan iş parçacığı sayısını düşürmeniz gerekir. Örneğin, proxy kontrolünü kapatmak (ihtiyaç yoksa bu 15 iş parçacığı tasarruf sağlar) ve görevlerden birindeki iş parçacığı sayısını 20 daha düşürmek. Böylece çalışan görevlerden biri için 80 iş parçacıklı bir yapılandırma oluşturmalı, diğerlerini olduğu gibi bırakmalısınız
Proxy Denetleyiciler (Proxy Checkers)
Bu parametre, belirli ayarlara sahip bir proxy denetleyici seçme imkanı verir. Burada, çalışan tüm proxy denetleyicilerin kullanılacağı anlamına gelen All parametresini veya yalnızca görevde kullanılması gerekenleri seçebilirsiniz (birden fazla seçim yapılabilir)
Bu ayar, görevin yalnızca gerekli proxy denetleyicilerle başlatılmasını sağlar. Proxy denetleyici yapılandırma süreci burada incelenmiştir
Proxy başına maksimum iş parçacığı (Max threads per proxy)
Burada, aynı proxynin aynı anda kullanılacağı maksimum iş parçacığı sayısı belirlenir. 1 iş parçacığı = 1 proxy gibi farklı parametreler belirlemeye olanak tanır.
Varsayılan olarak bu parametre 0'dır ve bu özelliği devre dışı bırakır. Çoğu durumda bu yeterlidir. Ancak her proxy üzerindeki yükü sınırlamak gerekiyorsa, değeri değiştirmek mantıklıdır
Global proxy engeli (Global proxy ban)
Bu seçenekle başlatılan tüm görevler ortak bir proxy engel veritabanına sahiptir. Bu parametrenin özelliği, her veri kazıyıcı için engellenen proxy listesinin çalışan tüm görevler için ortak olmasıdır.
Örneğin, Görev 1'de
SE::Google için engellenen bir proxy, Görev 2'deki
SE::Google için de engellenecektir, ancak aynı zamanda her iki görevde de
SE::Yandex içinde serbestçe çalışabilir
Host başına maksimum bağlantı (Max connections per host)
Bu parametre, bir hosta yapılacak maksimum bağlantı sayısını belirtir ve veri çekme sırasında site üzerindeki yükü azaltmak için tasarlanmıştır. Aslında bu parametrenin belirtilmesi, her bir spesifik alan adı için aynı andaki istek sayısını kontrol etme imkanı verir. Bu parametrenin etkinleştirilmesi göreve yayılır; aynı iş parçacığı yapılandırmasıyla aynı anda birkaç görev başlatılırsa, limit tüm görevler için hesaplanacaktır.
Varsayılan olarak bu parametre 0 değerine sahiptir, yani devre dışıdır.
Denemeler arasında proxy'nin yeniden kullanımı (Reuse proxy between retries)
Bu ayar, her deneme için proxy benzersizliği kontrolünü devre dışı bırakır ve ayrıca proxy engelleme çalışmaz. Bu da tüm denemeler için 1 proxy kullanma imkanı anlamına gelir.
Bu parametrenin, örneğin her bağlantıda çıkış IP'sinin değiştiği 1 proxy kullanılması planlandığı durumlarda etkinleştirilmesi önerilir.
Proxy kullanım stratejisi (Proxy strategy)
Oturumları kullanırken proxy seçim stratejisini yönetmeye olanak tanır: başarılı bir istekten gelen proxy'yi bir sonraki istek için saklamak veya her zaman rastgele bir proxy kullanmak.
Öneriler
Bu makalede, iş parçacıklarını yönetmeyi sağlayan tüm ayarlar incelenmiştir. İş parçacığı yapılandırması ayarlarında makalede belirtilen tüm parametreleri belirlemenin zorunlu olmadığını, yalnızca doğru sonucu sağlayacak olanları belirlemenin yeterli olduğunu belirtmek gerekir. Genellikle sadece Threads count değerini değiştirmek gerekir, diğer ayarlar varsayılan olarak bırakılabilir.
Veri kazıyıcı ayarları
Her veri kazıyıcı birçok ayara sahiptir ve farklı ayar kümelerini şablonlara kaydetmeye olanak tanır. Şablon sistemi, duruma göre aynı veri kazıyıcıyı farklı ayarlarla kullanmaya olanak tanır,
SE::Google veri kazıyıcı örneği üzerinden inceleyelim:
Şablon 1: "Maksimum sayıda bağlantı çekme"
- Sayfa sayısı (Pages count):
10
Böylece veri kazıyıcı, arama sonuçlarının tüm sayfalarını gezerek maksimum sayıda bağlantı toplayacaktır
Şablon 2: "Sorgu bazlı rekabet veri çekme"
- Sayfa sayısı (Pages count):
1 - Sonuç formatı (Results format):
$query: $totalcount\n
Bu durumda sorgu başına sonuç sayısını (sorgu rekabeti) alıyoruz ve daha yüksek hız için sadece ilk sayfayı kazımamız yeterlidir
Şablon oluşturma

Şablon oluşturma, veri kazıyıcı/kazıyıcıların seçilmesi ve alınması gereken sonucun belirlenmesiyle başlar.
Ardından seçilen veri kazıyıcı için giriş verilerinin ne olacağını anlamak gerekir; yukarıdaki ekran görüntüsünde
SE::Google veri kazıyıcı seçilmiştir, onun giriş verileri tarayıcıda bir şey arıyormuşsunuz gibi herhangi bir satırdır. Bir sorgu dosyası seçebilir veya metin alanına sorguları girebilirsiniz.
Şimdi veri kazıyıcı için ayarları yeniden tanımlamanız (seçenekleri belirlemeniz), deduplikasyon ekle işlemini yapmanız gerekir. Sorguları işlemeniz gerekiyorsa sorgu oluşturucu kullanabilirsiniz. Veya sonuçları bir şekilde işlemeniz gerekiyorsa sonuç oluşturucu kullanabilirsiniz.
Daha sonra sonuç dosyası adının düzenlenmesine dikkat etmeli ve gerekirse kendi isteğinize göre değiştirmelisiniz.
Son madde, ek seçeneklerin seçilmesidir, özellikle Do log (Günlük tut) seçeneği. Veri çekme hatasının nedenini öğrenmek istiyorsanız çok yararlıdır.
Tüm bunlardan sonra şablonu kaydetmeli ve görev kuyruğuna eklemelisiniz.
Ayarları yeniden tanımlama
Override preset - veri kazıyıcı için ayarların hızlıca yeniden tanımlanmasıdır, bu seçenek doğrudan Görev Düzenleyici içinde eklenebilir. Tek bir tıklama ile birkaç parametre eklenebilir. Ayar listesinde varsayılan değerler belirtilmiştir ve bir seçenek kalın harflerle vurgulanmışsa, bu onun şablonda zaten yeniden tanımlandığı anlamına gelir

Bu örnekte Pages count (Sayfa sayısı) seçeneği geçersiz kılınmış ve 5 olarak ayarlanmıştır.
Bir görevde sınırsız sayıda Override preset seçeneği kullanılabilir, ancak değişiklikler çoksa, yeni bir şablon oluşturup tüm değişiklikleri ona kaydetmek daha uygundur.
Ayrıca yeniden tanımlamaları Save overrides to preset (Yeniden tanımlamaları kaydet) fonksiyonu ile kolayca kaydedebilirsiniz. Bunlar seçilen veri kazıyıcı için ayrı bir şablon olarak kaydedilecektir.

Bundan sonra gelecekte bu kaydedilmiş şablonu listeden seçip kullanmak yeterli olacaktır.

Tüm veri kazıyıcılar için ortak ayarlar
Her veri kazıyıcının kendi ayar kümesi vardır, her veri kazıyıcının ayarları hakkındaki bilgiyi ilgili bölümde bulabilirsiniz
Bu tabloda tüm veri kazıyıcılar için ortak ayarları sunduk
| Parametre adı | Varsayılan değer | Açıklama |
|---|---|---|
| Request retries | 10 | Her bir istek için deneme sayısı; eğer istek belirtilen deneme sayısında gerçekleştirilemezse başarısız sayılır ve atlanır |
| Use proxy | ☑ | Proxy kullanılıp kullanılmayacağını belirler |
| Query format | $query | Sorgu formatı |
| Result format | Her veri kazıyıcının kendi değeri vardır | Sonuç çıktı formatı |
| Proxy ban time | Her veri kazıyıcının kendi değeri vardır | Saniye cinsinden proxy ban süresi |
| Request timeout | 60 | Saniye cinsinden maksimum istek bekleme süresi |
| Request delay | 0 | İstekler arasındaki saniye cinsinden gecikme; bir aralıkta rastgele bir değer belirlenebilir, örneğin 10,30 - 10 ile 30 saniye arası gecikme |
| Proxy Checker | All | Hangi checker'lardan gelen proxylerin kullanılacağı (tümü arasında seçim veya belirli olanların listelenmesi) |
HTTP protokolü üzerinden çalışan tüm veri kazıyıcılar için ortak
| Parametre adı | Varsayılan değer | Açıklama |
|---|---|---|
| Max body size | Her veri kazıyıcının kendi değeri vardır | Bayt cinsinden maksimum sonuç sayfası boyutu |
| Use gzip | ☑ | İletilen trafiğin sıkıştırılıp sıkıştırılmayacağını belirler |
| Extra query string | Sorgu dizesine ek parametreler eklenmesine olanak tanır |
Her veri kazıyıcı için varsayılan ayarlar farklılık gösterebilir. Bunlar her veri kazıyıcının ayarlarındaki default şablonunda saklanır.
Proxy denetleyici ayarları
Proxychecker ayarları hakkında daha fazla bilgi
Ek ayarlar

- Satır sonu, sonuçları bir dosyaya kaydederken satır sonları için Unix ve Windows seçenekleri arasında seçim yapmanıza olanak tanır
- Sayı formatı - sayıların A-Parser arayüzünde nasıl görüntüleneceğini belirler
- Şablon makroları