BAS ve Mobil Proxy'ler: Çoklu İşlem Ayarları - Adım Adım Kılavuz
Giriş
Bu adım adım kılavuzda, mobil proxy'ler kullanarak Browser Automation Studio (BAS) ile istikrarlı çoklu işlem otomasyonu başlatmayı öğreneceksiniz. Çevreyi adım adım kuracak, mobil proxy'leri bağlayacak, çoklu işlem senaryosu oluşturacak ve sonucu kontrol edeceğiz. Sonuç olarak, birkaç iş parçacığında çalışan, her iş parçacığında benzersiz mobil IP kullanan, doğru bir şekilde eylemleri kaydeden ve olağanüstü durumlarda kendini toparlayabilen bir BAS projesine sahip olacaksınız. Hataları minimize etmek ve zamanınızı tasarruf etmek için her adımı detaylı bir şekilde inceleyeceğiz.
Bu materyal, yeni başlayanlar için tasarlanmış olup, deneyimli kullanıcılar için de bazı unsurlar içermektedir. Eğer hiç BAS ile çalışmadıysanız, detaylı talimatlar sayesinde tüm adımları tekrarlayabilirsiniz. Otomasyon hakkında temel bir anlayışınız varsa, çoklu işlem optimizasyonu, mobil proxy'ler ile güvenli çalışma ve hata işlemenin pratiklerini bulacaksınız.
Başlamadan önce bilgisayarlı çalışma temellerini bilmek, programları yükleyebilmek ve "proxy", "iş parçacığı", "zaman aşımı" gibi temel terimlere aşina olmak önemlidir. Programlama konusunda karmaşık becerilere ihtiyacınız olmayacak: tüm süreç BAS'ın görsel blokları, net ayarları ve kontrolleri üzerine inşa edilmiştir.
Tüm adımları tamamlamak için 2 ile 4 saat arasında bir süre ayırmalısınız. Eğer ilk defa araçları kuruyor ve mobil proxy ayarlıyorsanız, daha fazla zamana ihtiyacınız olabilir. Ancak ilk kurulumdan sonra senaryolarınızı hızlı bir şekilde ölçeklendirebilir ve farklı makinelerde başlatabilirsiniz.
Tavsiyeler: Eğer doğrudan proxy ayarlarına geçmek istiyorsanız, "Adım 3: BAS'ta Mobil Proxy'lerin Bağlanması ve Ayarlanması" bölümüne iç link kullanarak geçebilirsiniz — aşağıda bakın. Sorunlar ve çözümleri ile ilgileniyorsanız, "Tipik Hatalar ve Çözümler" bölümüne geçebilirsiniz — aşağıda bulabilirsiniz.
Ön Hazırlık
Başarılı bir çalışma için birkaç zorunlu araç ve hazırlık adımına ihtiyacınız olacak. Hiçbir şeyi atlamamak için listeyi takip edin. Burada ayrıca sistem gereksinimlerini belirtecek ve neyin indirilmesi gerektiğini, nasıl doğru bir şekilde kurulması gerektiğini açıklayacağız.
Gerekli Araçlar, Programlar ve Erişimler
- Windows 10 veya daha yeni bir bilgisayar. BAS, resmi olarak Windows'a yöneliktir; Linux altında uyumlulukla başlatmak mümkündür, ancak bu kılavuzda ele alınmamaktadır.
- 2026 yılı için geçerli Browser Automation Studio (BAS) sürümü. Bunu indirip kurmalısınız.
- Mobil proxy sağlayıcınızda bir hesap. Çeşitli tedarikçiler uygundur; örnek olarak, genellikle mobil proxy'ler esnek döngü ile kullanılır, bunlara mobileproxy.space gibi olanlar dahildir.
- Notlar için bir metin düzenleyici (örn. standart "Not Defteri") ve proxy verileri ve kullanıcı adları için bir tablo (örn. Excel) oluşturmak üzere.
- En az 5 GB serbest alan, BAS kurulumu, geçici veriler ve günlükler için gereklidir.
Sistem Gereksinimleri
- İşletim Sistemi: Windows 10/11 (64-bit).
- RAM: 8 GB'dan itibaren (yoğun çoklu işlem için 16 GB ve üstü önerilir).
- İşlemci: 4+ çekirdek (istikrarlı çoklu işleme için 6-8+ çekirdek önerilir).
- Serbest disk alanı: en az 5 GB.
- İstikrarlı internet bağlantısı: 20 Mbps'den fazla, düşük gecikmeler tercih edilir.
İndirilmesi, Kurulması ve Ayarlanması Gerekenler
- Resmi geliştirici kaynağından BAS Installer paketini indirin. Sürümün güncel (2026) olduğundan ve işletim sisteminize uygun olduğundan emin olun.
- Standart yükleme sihirbazını takip ederek BAS'ı kurun: "İleri", "Kabul Ediyorum", "Kur" butonlarına tıklayın. Kurulum tamamlandığında BAS'ı başlatın.
- Mobil proxy'lerinizi sağlayıcınızdan alın. IP/domain, port, yetkilendirme türü (kullanıcı adı/parola veya IP adresi) ve IP döngüsü (rotasyon) belgelerinin olduğuna emin olun.
- BAS projesi, günlükler ve yedekleme için bir klasör oluşturun. Örnek: C:\BAS\Projects\MobileProxyMultithread.
- Test verileri ile bir CSV dosyası hazırlayın (eğer senaryo gerekiyorsa), örneğin gidilecek URL'lerin bir listesini oluşturun. Örnek dosya: urls.csv, satırları şu formatta: https://example.org/test1, https://example.org/test2.
Yedekleme Oluşturma
Yedeklemeler, bir şeyler ters gittiğinde hızlı bir şekilde çalışma durumuna geri dönmenizi sağlar.
- Her büyük değişiklikten sonra, kurulu BAS projesi klasörünün bir kopyasını oluşturun: proxy eklediğinizde - yedek alın; çoklu işlem eklediğinizde - yedek alın.
- Kopyaları tarih ile alt klasörlerde saklayın: C:\BAS\Backups\2026-06-xx\.
- BAS senaryo dosyalarını (.xml) ve kaynakları (CSV, JSON, logolar) da "Backup_Resources" adlı ayrı bir klasörde kopyalayın.
⚠️ Dikkat: Eğer senaryoları iş bilgisayarınızda başlatıyorsanız, antivirus yazılımının BAS faaliyetlerini engellemediğinden emin olun. Gerekirse BAS klasörünü istisnalar listesine ekleyin. Önce kaynakların güvenliğinden emin olun.
✅ Kontrol: BAS'ı kurdunuz, aktif mobil proxy erişiminiz var (kullanıcı adı/parola veya IP yetkilendirmesi), proje ve yedekler için klasör yapısı oluşturuldu, test verileri hazırlandı.
Temel Kavramlar
Ayarları yapmadan önce pratik seviyede kuramsal bilgilere bakalım. Terimlerin net bir şekilde anlaşılması, sonraki adımlarda zaman kazanmanızı sağlar.
BAS Nedir Basitçe
Browser Automation Studio, tarayıcıdaki eylemleri otomatikleştirmek için görsel bir araçtır. Senaryonuzu bloklarla toplarsınız, sanki bir yapı taşı gibi. Her işlem bir bloktur: "URL Aç", "Tıkla", "Metin Gir", "Proxy Değiştir", "İşlemde Başlat" vb. BAS derin bir programlama bilgisi gerektirmemektedir. Ancak, esneklik sunar ve basit ve karmaşık görevleri çözmenizi sağlar: veri çekme, form kontrolü, izleme, hesaplarla çalışma, testler.
Proxy ve Mobil Proxy'ler
Proxy, bilgisayarınız ile eriştiğiniz site arasında bulunan bir ara sunucudur. Proxy kullandığınızda, site proxy'nin IP'sini görür, sizin kendi IP'nizi değil. Mobil proxy'ler, cep telefonları ağı (3G/4G/5G) üzerinden sağlanan proxy'lerdir, bu nedenle IP adresleri "mobil" bir havuzdan gelir. Bu, trafiğe duyulan güveni artırmak ve yanlış blokajları azaltmak için faydalıdır, eğer görevler düzgün ve yasal bir şekilde yerine getirilirse. Farklı sağlayıcılar, IP değiştirme (rotasyon) özelliklerine sahip olabilirler; zamanlayıcı ile veya talep üzerine. Örnek bir sağlayıcı olan mobileproxy.space'i düşünebilirsiniz, burada kullanıcı dostu bir rotasyon ve çeşitli çıkış noktaları mevcuttur.
Çoklu İşlem
BAS'ta çoklu işlem, aynı senaryonun birkaç kopyasının eşzamanlı olarak çalışması anlamına gelir. Her işlem, kendi verileri, proxy ve günlükleri ile bağımsız olarak çalışır. Bu, benzer görevlerin gerçekleştirilmesini hızlandırır. Kaynakların doğru bir şekilde ayrılması önemlidir: her işlem için benzersiz bir proxy ayırmak, zaman aşımı, kuyruklar ve limitler ayarlamak gerekir, böylece çatışmalar ve aşırı yüklenmelerden kaçınılır.
Başlarken Anlamak Gerekenler
- Bir işlem - bir proxy. Bu, istikrar ve kesişimleri azaltmak için temel bir kuraldır.
- IP döngüsü tahmin edilebilir olmalıdır. Güvenli aralıklar ayarlayın ve sadece ihtiyaç duyulduğunda IP değiştirin, böylece sitelerde gereksiz şüpheler yaratmayın.
- Günlükler ve raporlar - sizin en iyi arkadaşlarınızdır. Anahtar olayları ve hataları kaydedin. Bu, hata ayıklamayı büyük ölçüde kolaylaştırır.
- Herhangi bir otomasyon, hedef sitelerin yasalarına ve kullanım kurallarına uygun olmalıdır. Sadece izin verilen görevler ve verilerle çalışın.
Tavsiye: Eğer mobil proxy'leri ilk defa ayarlıyorsanız, 1-2 işlemle başlayın. İstikrarı sağladıktan sonra, ilerleyebilirsiniz 5, 10 ve daha fazlasına. Böylece makinenizin ve proxy'nizin sınırlarını tam olarak anlayacaksınız.
✅ Kontrol: Her işlemin ayrı bir proxy ile çalıştığını, rotasyonun neden gerekli olduğunu ve olayları günlüğe kaydetmenin önemini anlıyorsunuz. Proje kurulumuna ve inşasına geçmek için hazır durumdasınız.
Adım 1: BAS'ı Kurma ve İlk Başlatma
Aşamanın Amacı
Güncel BAS sürümünü kurmak ve doğru bir şekilde başlatmak, arayüzün ve temel işlevlerin çalışır durumda olduğunu doğrulamak.
Adım Adım Kılavuz
- BAS yükleyicisini açın ve sihirbazın adımlarını takip edin ("İleri", "Kabul Ediyorum", "Kur").
- BAS'ı başlatın. İlk ekranınızda ana pencere, projeler listesi, eylem panelleri ve günlük konsolu görünecektir.
- Proje klasörü oluşturun: C:\BAS\Projects\MobileProxyMultithread. BAS'da "Dosya" menüsünden "Projeyi Farklı Kaydet..." seçeneğini seçin ve boş projeyi belirtilen klasöre MobileProxyMultithread.xml olarak kaydedin.
- Eylem bölümünü (sol tarafta) açın. "Tarayıcı", "Ağ", "Akış" bloklarını bulun — bunlar daha sonra işimize yarayacak.
- Tarayıcı modülünün çalışmasını kontrol edin: "Open URL" bloğunu ekleyin ve https://example.org yazın. "Çalıştır" butonuna tıklayın. BAS'ın yerleşik tarayıcıyı açıp sayfayı yüklediğinden emin olun.
Önemli Noktalar
- Test sırasında tarayıcı penceresini kapatmaktan kaçının. Bu sürecin bir parçasıdır.
- Sayfa açılmıyorsa, internet bağlantınızı ve güvenlik duvarı ayarlarını kontrol edin.
Beklenen Sonuç
Sayfa başarıyla yüklendi, günlüklerde kritik hatalar yok, proje seçilen klasörde kaydedildi.
Olası Problemler ve Çözümleri
- Problem: BAS başlamıyor. Sebep: antivirus tarafından engellenmiş. Çözüm: BAS'ı istisna listesine ekleyin.
- Problem: test sayfası açılmıyor. Sebep: ağ kısıtlamaları. Çözüm: internet erişimini ve işletim sistemindeki proxy ayarlarını kontrol edin (test aşamasında bunlara gerek yok).
✅ Kontrol: BAS penceresinde yüklü sayfayı görüyorsunuz ve günlüklerde yeşil durumlar var. MobileProxyMultithread.xml proje dosyası kaydedildi.
Adım 2: Proje Yapısı ve Kaynaklar
Aşamanın Amacı
BAS projesinin kaynakları ile anlaşılır bir yapısını oluşturmak, böylece ölçeklendirme ve bakımın kolay olmasını sağlamak.
Adım Adım Kılavuz
- Proje klasöründe alt klasörler oluşturun: data, logs, output, backups.
- data\urls.csv dosyasını 5-10 test adresi ile oluşturun. Format: her satırda bir URL olmalıdır. Örneğin: https://httpbin.org/ip, https://example.org.
- BAS'da urls.csv dosyasını okumak için "Resource" ekleyin: "Resources" bölümünde "Kaynak Ekle" butonuna tıklayın, "Dosya" türünü seçin, data\urls.csv yolunu belirtin ve "Satır satır" modunu seçin.
- URL'leri kaynak okuyarak bir değişkene (örneğin, url_current) almak için "Load From Resource" bloğunu ekleyin.
- Bir "Log" bloğu ekleyin ve {{url_current}} değerini yazdırarak kontrol edin.
- Projeyi kaydedin (Ctrl+S).
Önemli Noktalar
- Her kaynağı anlaşılır bir şekilde adlandırın: res_urls, res_accounts vb. Bu, bakımı kolaylaştırır.
- Birden fazla senaryo planlıyorsanız, kaynakları görevler bazında ayrı klasörlerde tutun.
Beklenen Sonuç
Proje, urls.csv dosyasından satır satır okuma yapar, değeri kaydeder ve URL listesinden sayfaları açmaya hazır olur.
Olası Problemler ve Çözümleri
- Problem: dosya okuma hatası. Sebep: yanlış yol veya kodlama. Çözüm: yolu kontrol edin ve UTF-8 kullanın.
- Problem: kaynak satırları geçiş yapmıyor. Sebep: mod yanlış ayarlanmış. Çözüm: "Satır satır" ayarını ve otomatik artışı ayarlayın.
✅ Kontrol: Çalıştırdığınızda logs'da urls.csv'den satırları ve url_current değişkeninin değerini görmelisiniz.
Adım 3: BAS'ta Mobil Proxy'lerin Bağlanması ve Ayarlanması
Aşamanın Amacı
Her iş parçacığının kendi IP'sini kullandığı şekilde mobil proxy'leri BAS projesine bağlamak. Güvenli rotasyon ve bağlantı kontrolünü ayarlamak.
Adım Adım Kılavuz
- Proxy erişim formatını belirleyin. Genellikle şu iki seçenekten biridir: http(s)://kullanıcı:şifre@sunucu:port veya socks5://kullanıcı:şifre@sunucu:port. Eğer IP ile yetkilendirme varsa, dış IP'nizin sağladığınız yerden beyaz listeye alındığından emin olun.
- Proxy listesini hazırlayın. data\proxies.csv dosyasını oluşturun, burada her satır bir proxy olmalıdır. Örnek: http://kullanıcı1:şifre1@mp1.example.net:3000, http://kullanıcı2:şifre2@mp2.example.net:3000. Eğer mobileproxy.space kullanıyorsanız, size verilen hostları ve portları bu şekilde belirtin.
- BAS'da data\proxies.csv'den okumak için res_proxies adında bir kaynak oluşturunuz. Mod "Satır satır".
- Tarayıcıyı açmadan önce, "Ağ" veya "Tarayıcı/Proxy" bölümünden "Set Proxy" bloğunu ekleyin. Proxy alanına, kaynaktan okunan bir değişkeni belirtin, örneğin {{proxy_current}}.
- Bir IP kontrol servisi için "HTTP Request" veya "Open URL" bloğunu ekleyin, örneğin https://httpbin.org/ip. Amaç, trafiğin proxy üzerinden geçtiğinden emin olmaktır. Yanıtı günlüğe yazdırın ve IP'nin gerçekten farklı olduğuna emin olun.
- IP döngüsü. Eğer sağlayıcınız IP değişikliği için bir API sunuyorsa (genellikle mobil sağlayıcılarda böyle olur), döngü çağrısı için ayrı bir "HTTP Request" bloğu oluşturun. Döngüyü çok sık çağırmayın. Bunun yerine: a) işlem başlamadan, b) belirli bir bağlantı hatası olduğunda, c) güvenli aralıklarla (örn. 10-20 dakika) gerçekleştirin, sağlayıcı belgelerine göre.
- Rotasyon sonrası sonucu kontrol edin. IP kontrolünü yeniden yapın ve değişim talep edildiğinde IP'nin değiştiğinden emin olun.
- Projeyi kaydedin (Ctrl+S) ve zaman damgası ile backups klasörüne bir yedek alın.
Önemli Noktalar
- Bir işlem - bir proxy. Proxy'yi işlemler arasında paylaşmayın. Bu, istikrarı azaltır ve hata ayıklamayı zorlaştırır.
- Döngü limitlerini aşmayın. Sağlayıcınızdan izin verilen sıklığı öğrenin. Aşırı döngü hatalara yol açabilir.
- Bağlantı günlükleri zorunludur. Her zaman hangi proxy'nin verildiğini ve kontrol sonrası belirlenen IP'yi kaydedin.
Tavsiyeler: Eğer mobileproxy.space kullanıyorsanız, her modem/yuva için ayrı döngü uç noktaları ayarlayarak IP değişimlerini adres bazında yönetin ve diğer akışları etkilemeyin.
Tavsiyeler: IP ile yetkilendiriyorsanız, düzenli olarak bilgisayarınızdaki mevcut dış IP'nizi denetleyin. Ağ değiştiğinde sağlayıcınızda beyaz listeyi güncelleyin.
Beklenen Sonuç
Proje, dosyadan proxy alır, tarayıcıyı başlatmadan önce ayarını yapar, IP kontrolünden geçer ve ihtiyaç durumunda döngüyü çağırabilir.
Olası Problemler ve Çözümleri
- Problem: "Proxy authentication required". Sebep: yanlış kullanıcı adı/şifre. Çözüm: bilgileri ve proxies.csv'deki satır formatını kontrol edin.
- Problem: IP, döngüden sonra değişmiyor. Sebep: çok sık döngü talepleri veya sağlayıcıda gecikme. Çözüm: 30-120 saniye bekleyin, döngü aralığını artırın.
- Problem: bağlantı istikrarsız. Sebep: sağlayıcıda modem belirgin düşük bir sinyal. Çözüm: çıkış noktasını değiştirin veya mobil sağlayıcınızda başka bir yuvayı kullanın.
✅ Kontrol: Günlüklerde süreçte verilen proxy, IP kontrol sayfasının başarılı yüklemesi ve döngüde doğru IP değişimi görülüyor. Yetkilendirme hatası yok.
Adım 4: Temel Çoklu İşlem - Başlatma Şablonu
Aşamanın Amacı
BAS'ta her bir iş parçacığına proxies.csv'den bir satır ve kendi URL setini izole ederek çoklu işlem ayarlamak.
Adım Adım Kılavuz
- Test için işlem sayısını belirleyin. Öncelikle 2-3 işlem ile başlayın.
- Proje içine "Threads" blokları ekleyin veya "Run In Threads" seçeneğini kullanın (arayüz sürümüne bağlı). Burada varsayılan olarak 3 değişkenini belirtin.
- Varsa, "Take row and lock" modunda res_proxies kaynağını oluşturun ya da manuel olarak dizin bazında satırları vermek üzere ayarlayın, böylece her akış farklı bir satır alır. Alternatif: "Take Line" kullanın, otomatik geçiş ve kilitlenme ekleyin.
- URL verileri için bağımsız bir dağıtım oluşturun: eğer işlem akışlarının farklı URL'ler almasını istemiyorsanız, farklı satır alacak şekilde "Take Line" ve kilitleme ayarlayın. Her işlem aynı listeyi geçmelidir, bellekteki bir array kopyası ile çalışın.
- Akışın içinde, benzersiz satırdan proxy ayarlayın, IP kontrolünü gerçekleştirin, ardından URL'ler üzerine döngüyü başlatın: sayfayı açın, yüklenmesini bekleyin, durumu günlüğe kaydedin.
- Bekleme süreleri ayarlayın. Sayfaları açma sırasında 2-5 saniye "Sleep" kullanarak, yük piklerini düşürün ve siteler tarafında gereksiz şüphelerden kaçının.
- Akış başına log almayı kaydedin. Günlük dosya adında işlem değişkenini kullanın, örneğin logs\thread_{{thread_id}}.log olarak yazılarak kolay hata ayıklama sağlayın.
- Projeyi kaydedin ve testi yapmak üzere 3 işlemi başlatın.
Önemli Noktalar
- Kaynakların izolasyonu kritik öneme sahiptir. İki akışın aynı satırı aynı anda almadığından emin olun.
- Gecikmeleri stabilize edin. İşlem sayısı arttıkça, ağ üzerinde çakışma riski artar. Uygun gecikmeler istikrarı artırır.
Tavsiyeler: Teste 1 işlem ile başlayın, ardından 2, sonra 3. Her adımda günlükleri ve kaynak tüketimini (CPU, RAM, ağ) kontrol edin. Bu, ölçeklendirme esnasındaki anlık bozulmalardan kaçınmanıza yardımcı olur.
Tavsiyeler: İşleme bir ad verin, numara ve kısmi görev içeren, örneğin "T3_Parse" gibi. Bu, günlük incelemede faydalı olur.
Beklenen Sonuç
Senaryo, aynı anda birden fazla akışta çalıştırılıyor. Her akış kendi proxy'sini alıyor ve URL setini çakışmadan işliyor. Günlükler ayrı olarak kaydediliyor.
Olası Problemler ve Çözümleri
- Problem: İki akış aynı proxy'yi aldı. Sebep: kaynak blokajı düzgün ayarlanmamış. Çözüm: toplama satırında kilitleme ayarını açın.
- Problem: işlemler "askıda" kalıyor. Sebep: çok sert zaman aşımı ayarları. Çözüm: sayfaların yükleme ve ağ taleplerindeki zaman aşımı limitlerini artırın.
✅ Kontrol: günlük klasöründe her akış için raporlar yer aldı. Günlüklerde doğru eşlenen benzersiz proxy ve doğru işlem sırası görülebiliyor.
Adım 5: Senaryo Mantığı ve Güvenilir Hata İşlemesi
Aşamanın Amacı
Projeye dayanıklılık sağlamak: başarısız olduğunda yeniden başlatmalar, ağ hatalarının işlemesi, makul tekrarlar ve bildirimler eklemek.
Adım Adım Kılavuz
- Akışın içinde, "Try/Catch" bloğu (veya BAS için benzer bir mekanizma) ekleyin. Temel işlemleri sarın: proxy ayarlama, IP kontrol etme, URL açma.
- "Catch" bloğunda ayrıntılı bir günlük kaydedin: akış adı, adım, hata metni. Tekrarlamadan önce "Sleep 5-15 saniye" eylemini ekleyin.
- Tekrar sayacı uygulayın: retries değişkeni ile limit koyarak 2-3 kez tekrar deneyin. Limitin aşılması durumunda hatayı kaydedin ve bir sonraki göreve geçerek akışın durmamasını sağlayın.
- Ağ hataları (örneğin, proxy cevap vermediğinde) için alternatif bir akış ekleyin: IP döngüsü ile değiştirin (eğer uygunsa) ve IP kontrolünü yeniden yapın. Ancak bu durumda ana eylemi tekrar deneyin.
- Site çok yavaş yanıt verirse, "Wait For" ile daha uzun bir zaman aşımı ekleyin ve DOM'un hazırlanma kontrolünü sağlıklı bir şekilde kontrol edin. Amansız bir şekilde zaman aşımı artırmak, akışları yavaşlatabilir; bu nedenle "Wait For Element" ile makul limitleri birleştirin.
- Özel HTTP yanıt kodları ve süre ölçümlerini kaydedin; yanıt süresi, yükleme süresi gibi metrikleri zaman damgasıyla birlikte bir dosyaya yazın.
- Projeyi kaydedin ve test edin: data\proxies.csv dosyasına bir çalışmayan proxy belirleyin ve hata işlemesinin düzgün bir şekilde çalıştığını doğrulayın.
Önemli Noktalar
- Sonsuz döngülere girmeyin. Tekrar sayısını sınırlayın, aksi takdirde bir URL üzerinde uzun süre askıda kalabilirsiniz.
- Hataları segmentlere ayırın. Ağ hatası — bir eylem (IP değiştir, tekrar dene), iş hatası — ayrı bir süreç (atla, devam et).
Tavsiyeler: Günlüklerinize "aşamalar" eklemeniz yararlı olacaktır: INFO sıradan olaylar için, WARNING alışılmadık durumlar için, ERROR kritik hatalar için. Bu, gerekli parçaları daha hızlı bulmanıza yardımcı olur.
Tavsiyeler: Önemli hatalar için ekran görüntülerini kaydedin, böylece disk üzerindeki yükü azaltın. Yol şu şekilde olabilir: logs\screenshots\thread_{{thread_id}}_{{timestamp}}.png.
Beklenen Sonuç
Senaryo stabil durumda: ağ hatalarında adımları yeniden başlatıyor, aşılamayı geçtiğinde mevcut öğeyi düzgün bir şekilde işler ve sonraki göreve geçer. Günlükler kapsamlıdır.
Olası Problemler ve Çözümleri
- Problem: aşırı tekrarlar. Sebep: hataların türlerini ayırt etmiyorsunuz. Çözüm: yanıt kodları ve istisna türleri üzerinde şartlar belirleyin, farklı davranışlar belirleyin.
- Problem: günlüklerin taşması. Sebep: aşırı ayrıntılı kayıtlar. Çözüm: INFO detay seviyesini azaltın, hata detaylarını koruyun.
✅ Kontrol: Geçersiz bir proxy ve "yavaş" URL'lerle yapılan testlerde senaryo tamamen çökmez, kendini toparlar ve devam eder.
Adım 6: Günlükleme, Raporlama, İlerlemeyi Kaydetme
Aşamanın Amacı
Düşünüllü bir günlükleme ayarlamak, böylece her akışın ne yaptığını ve neden yaptığını hızlı bir şekilde anlayabilmek. Sonuçları kaydetmek ve ilerlemeyi kontrol etmek.
Adım Adım Kılavuz
- Genel bir günlük dosyası ekleyin: logs\main.log. Senaryonun başlangıcını/sonunu, işlem sayısını, aşama başlıklarını burada yazın.
- Her akış için ayrı dosyalar kaydedin: logs\thread_{{thread_id}}.log. Proxy, kontrol sonrası IP, her hedef URL ve işlem sonucunu buraya kaydedin.
- Sonuçlar dosyası oluşturun: output\results.csv. Satır formatı: timestamp;thread_id;proxy;ip;url;status;elapsed_ms. Her URL işlendikten sonra "Append to file" ile bir satır ekleyin.
- BAS'ın çökmesi durumunda ilerlemeyi kaydedin: periodik olarak output\checkpoint.json dosyasına mevcut kaynak indekslerini (hangi URL işlendi, hangi sonraki) yazın. Bu, belirli bir noktadan yeniden başlatmayı kolaylaştırır.
- Tüm akışlar tamamlandığında bir final raporu ekleyin: main.log'ta başarıyla işlenen URL sayısını ve hata sayısını özetleyen bir kayıt yazın.
Önemli Noktalar
- Günlük yapısı tekrarlanabilir olmalıdır. Aynı alanlarla bir dizi satır formatı analiz etmeyi kolaylaştırır.
- Disk alanınızı koruyun. Günlükleri döndürün: eski dosyaları arşiv klasörüne taşıyın veya yaşa göre silin.
Tavsiyeler: Günlük dosyası isimlerinde tarih öneklerini kullanın: logs\2026-06-22\thread_3.log. Bu, saklamayı düzenler ve aramayı hızlandırır.
Tavsiyeler: Hata ayıklama aşamasında genişletilmiş günlük düzeyini açın. Üretim modunda giderken standart ayara geçin ve gideri azaltın.
Beklenen Sonuç
Sizde net bir çalışma resmi mevcut: kim, ne zaman, hangi proxy ve IP ile hangi URL'i ne sonuçla işledi. Çökme anında, sorunları anlayabilme ve hızlı bir şekilde toparlanabilme fırsatına sahip olacaksınız.
Olası Problemler ve Çözümleri
- Problem: günlükler, yüksek hacim üzerinden çalışmayı engelliyor. Sebep: aşırı ayrıntılı kayıtlar. Çözüm: detayları azaltın ve günlük döndürmeyi etkinleştirin.
- Problem: farklı akışlarda tutarsız formatlar. Sebep: kayıt mantığı dağılmış. Çözüm: ayrı bir günlük yazma modülünü belirleyin ve tüm yerlerde kullanın.
✅ Kontrol: logs ve output klasörlerinde anlaşılır satırlar içeren dosyalar bulundu. thread_id'ye göre olayları filtreleyerek başarısız taleplerin hızlı bir şekilde bulunabilir.
Adım 7: Senaryo Örneği - Sayfaları Ziyaret Etme ve Temel Metrikleri Toplama
Aşamanın Amacı
Çoklu işlem modunda bir dizi sayfayı ziyaret eden, yanıtı kontrol eden, yükleme zamanını kaydeden ve sonucu döndüren en az çalışabilir senaryoyu (MVP) oluşturmaktır. Bu adım, kendi görevleriniz için bir temel oluşturur.
Adım Adım Kılavuz
- İş parçacığı başlatma: res_proxies'den benzersiz bir proxy okuyun ve alın. IP kontrolü gerçekleştirin ve ip_current olarak günlüğe kaydedin.
- Bir sonraki URL alın: res_urls'den bir satırı okuyun, url_current değişkenine kaydedin. Satırlar bitmişse, akışı düzgün bir şekilde sonlandırın.
- "Open URL" tarayıcı bloğunu url_current ile açın. Bir zaman aşımı belirleyin, örneğin 30000 ms. Açılış öncesinde, bir zaman damgası ekleyin (t_start).
- Sayfanın anahtar kısmını "Wait For Element" ile bekleyin (eğer biliniyorsa). Aksi taktirde, "Wait Document Loaded" ile genel bir zaman aşımı kullanın.
- t_end damgasını alın ve elapsed_ms = t_end - t_start hesaplayın. Sonucu output\results.csv dosyasına kaydedin.
- Yükleme hatası durumunda, Adım 5'teki mantığı izleyin: 2 tekrar kadar, ağ hatalarında – opsiyonel bir döngü, ardından tekrarlayın. Motivasyonda başarısız olunursa, status=failed yazıp bir sonraki URL'ye geçebilirsiniz.
- URL'ler üzerine döngü oluşturun: sonuç kaydedildikten sonra kaynağın sonraki satırına geçin.
- Akışın sonunda toplam istatistikleri thread_{{thread_id}}.log'a kaydedin.
Önemli Noktalar
- Başarı için net kıstaslar belirleyin. Örneğin, başarı durumu—sayfa 30 saniye içinde yüklendi ise ve öğe bulundu ise.
- Güvenliği koruyun. Hedef sitelerin kullanım kurallarını ihlal eden eylemler gerçekleştirmeyin. Senaryo etik ve şeffaf olmalıdır.
Tavsiyeler: Eğer kamuya açık sayfaları analize ediyorsanız, BAS tarayıcı ayarlarına "User-Agent" ve "Accept-Language" ekleyin, böylece trafik doğal görünür. Gerekçesi yoksa bunları çok sık değiştirmeyin.
Tavsiyeler: URL listesini tematik gruplara ayırın ve her akışa kendi grubunu ayırın. Bu, sonuç analizi ve önbellekleme işlemini kolaylaştırır.
Beklenen Sonuç
Senaryo, URL listesini çoklu akışta dolanıyor, yükleme zamanını ve durumları kaydediyor, günlük tutuyor ve akışları doğru bir şekilde sonlandırıyor.
Olası Problemler ve Çözümleri
- Problem: bazı sayfalar çok uzun sürede yükleniyor. Sebep: aşırı yüklenme veya düşük zaman aşımı. Çözüm: zaman aşımını biraz artırın ve "Wait For Element" ekleyin, stabil bir seçici kullanın.
- Problem: metrikler kaydedilmiyor. Sebep: hesaplama hatası veya yanlış değişkenler. Çözüm: t_start ve t_end kaydedin, aynı formatta süre aldığınızdan emin olun.
✅ Kontrol: results.csv dosyasında farklı URL'lerin, akışların gerçek IP'sinin, durumların ve yükleme sürelerinin satırları yer alıyor. Günlükler de her akış ile tutarlı.
Adım 8: Çoklu İşlem ve Mobil Proxy ile Çalışmak için Optimize Edin
Aşamanın Amacı
Projenin istikrarını ve verimliliğini artırmak: akış sayısını yavaşça ölçeklendirmek ve proxy'leri doğru bir şekilde dağıtmak.
Adım Adım Kılavuz
- Ağır yük testleri yapın: akışları 3'ten 5'e, ardından 7-10'a çıkarın. Her adımda CPU, RAM, ağ yükünü ve hata oranını kaydedin.
- Mobil proxy kalitesini takip edin: dönemsel olarak IP ve gecikme kontrolü için kısa bir senaryo başlatın. Eğer bir proxy daha fazla hata verirse, geçici olarak res_proxies'den hariç tutun.
- Proxy için "pools" oluşturun: hızlı, orta, yavaş. Görevlerin kritikliği doğrultusunda uygun havuzdan akışa proxy verin.
- Dönemlerin görev süresinin uzunluğu ile döngü ayarını senkronize edin: örneğin, bir görev ortalama 3-5 dakika sürüyorsa, döngüyü daha sık 7-10 dakikada birden sıkıştırmayın.
- Akışın "sağlığını" otomatiğe bağlayın: eğer bir akış ardışık 3 ağ hatası alıyorsa, proxy'yi değiştirin ve 60-120 saniye bekleyin.
- Mobil proxy sağlayıcınızın limitlerini değerlendirin: kaç tane eşzamanlı bağlantıya desteklediği ve döngünün ne kadar hızlı işler olduğunu sorgulayın. Örneğin, mobileproxy.space gibi sağlayıcılarda genellikle esnek döngü var ve belirli limitleri takip edin.
Önemli Noktalar
- Hız ve güvenilirlik arasında denge kurun. Aşırı sayıda akış, başarıyı zayıflatabilir.
- Keskin pırlantalardan kaçının. Ölçeklendirin ama kontrol altında talep yapın.
Tavsiyeler: Her akış için "son 10 dakikada başarı oranı" metriklerini takip edin. Eğer bu oran düşme durumu varsa, akışı otomatik olarak diğer proxy havuzuna geçirin.
Tavsiyeler: Kötü kombinasyonlar için bir kara liste tutun. Eğer belirli bir site her seferinde aynı proxy ile sık sık hata veriyorsa, o çifti tekrar kullanmaktan kaçının.
Beklenen Sonuç
Akış sayısının artırılması senaryoyu bozmaz. Hata oranı, havuz yönetimi ve rotasyon sayesinde sabit veya düşüktür. Sistem, proxy kalitesindeki bozulmaya kehanete dayalı şekilde tepki gösterir.
Olası Problemler ve Çözümleri
- Problem: akış sayısı artarken zaman aşımı hataları artıyor. Sebep: kaynak eksikliği. Çözüm: akış sayısını azaltın, donanım kaynaklarını artırın, zaman aşımını optimize edin.
- Problem: çok sık döngü, stabil bir IP vermiyor. Sebep: saldırgan aralık. Çözüm: aralığı artırın ve döngüyü yalnızca olay başına kullanın.
✅ Kontrol: Akış sayısını hedeflenen rakama çıkardığınızda, yük testleri başarı oranının stabil olduğunu gösteriyor ve loglar tekrar eden ağ hatalarıyla dolu değil.
Adım 9: Nihai Derleme, Başlatma ve Taşıma
Aşamanın Amacı
Projeyi tamamlamak: tüm blokları ilişkilendirmek, yapılandırma parametreleri oluşturmak ve başka bir makinaya taşınabilirlik sağlamak.
Adım Adım Kılavuz
- Yapılandırmayı parametrelerine alyın: threads_count, timeouts, retry_limits, proxy_rotation_interval. BAS'ta "Değişkenler" ve "Ayarlar" (var ise) kullanarak merkezi bir hafızada saklayın.
- Bir ana script yapın: günlük, kaynak yükleme, akış başlatma ve nihai rapor bloklarını sırayla yapılandırın, açıklama ekleyin.
- Yolları kontrol edin: görevin ne olduğu ile ilgili, bağlanmaları kolaylaştıracak göreli yolları (proje klasörü açısından) kullanın. Örneğin, data\proxies.csv yerine C:\BAS\Projects\....
- Projeye ait "temiz" bir kopya oluşturun: fazla log ve geçici dosyalar olmadan. Bunu backups\release_YYYYMMDD dizinine yerleştirin.
- Başka bir makinaya taşıma testi yapın: klasörü kopyalayın, projeyi BAS'ta açın, 1-2 akış ile çalıştırın ve proxy ve günlüklerin çalıştığını kontrol edin.
- Açılış için bir kılavuz belgeleri oluşturun: proje kökünde parametreleri, gereksinimleri ve proxy listesi güncelleme prosedürlerini açıklayan kısa bir README.txt oluşturun.
Önemli Noktalar
- Yapılandırma kod dışıdır. Ne kadar az "gizli" olursa, davranışları o kadar daha sık değiştirebilirsiniz.
- Taşınabilirliği önceden test edin. Projeye başka bir makinada ihtiyaç duymadan beklemeyin.
⚠️ Dikkat: Taşımadan önce projede açık parolalar bulunmadığından emin olun. Eğer mümkünse, profilizlerin BAS'ı ve sadece gerekli izinler çerçevesinde erişim sağlayın.
Tavsiyeler: Ekipin içindeki projeleri paylarken, dosya listesini kullanarak bir arşivle kontrol listesi oluşturun. Bu, kaçırılan dosyaları önlemeye yardımcı olur.
Beklenen Sonuç
Hızlı bir şekilde ayarlamaları ve yapılandırmaları, yapıya ve başka bir makinedeki kolay taşınabilirlik ile gerekli ayarlamaları başlatmaya hazır bir proje.
Olası Problemler ve Çözümleri
- Problem: yeni makinada kaynaklar okunamıyor. Sebep: mutlak yollar. Çözüm: göreli yollar ile geçiş sağlamak ve klasör yapısını gözden geçirmek.
- Problem: proxy erişimi yok. Sebep: IP ile yetkilendirme, beyaz liste eksikliği. Çözüm: yeni makinenin IP'sini mobil proxy sağlayıcısındaki beyaz listeye eklemek.
✅ Kontrol: Proje başka bir makinada başarıyla başlatılıyor, kaynakları görüyor, mobil proxy'lere bağlanıyor, logları ve sonuçları oluşturabiliyor.
Sonuç Kontrolü
Kontrol Listesi
- BAS yüklendi ve hatasız çalışıyor.
- Proje yapısı oluşturuldu, kaynaklar düzgün bir şekilde okunuyor.
- Mobil proxy'ler bağlanıyor, IP kontrol ediliyor ve akışa uygun şekilde görülüyor.
- Çoklu işlem çalışır durumda: 2-3+ akış verileri paralel olarak işliyor.
- Günlükler ve sonuçlar ayrı dosyalara yazılıyor, format bir bütünlük içeriyor.
- Hata ve tekrar işlemesi uygun bir şekilde yapılandırılmış ve öngörülebilir durumda.
- Proje başka bir makinaya taşınabilir durumda.
Nasıl Test Edilir
- 3 URL ile 1 akışı başlatın, günlükleri ve results.csv kontrol edin.
- 3 akışa çıkarın, proxy'nin benzersizliğini ve IP'nin akışla eşleşip eşleşmediğini kontrol edin.
- 1 çalışmaz proxy ekleyin, tekrarların ve günlük hatalarının nasıl çalıştığını gözlemleyin.
- Eğer elinizde varsa başka bir makinada da test yapın ve aynı testi tekrarlayın.
Başarı Göstergeleri
- Başarı oranı stabil kalmaktadır (örneğin, test sayfalarında %95 üzerinde).
- Akışlar arasında proxy çakışması yok.
- Günlükler anlaşılır, olayların ilerleyişini geri kazanmak için kullanılabilir.
- Senaryo süresi akışların sayısının artmasında orantılı olarak kısalır.
Tipik Hatalar ve Çözümler
- Problem: "Proxy authentication required". Sebep: Yanlış akreditasyon bilgileri. Çözüm: proxies.csv dosyasındaki kullanıcı adı, şifre ve formatını kontrol edin.
- Problem: İki akış aynı proxy alıyor. Sebep: Kayıt kaynağında kilit yok. Çözüm: "Take and lock" veya benzeri bir satır kilitleme işlevini etkinleştirin.
- Problem: IP döngüsünden sonra değişmiyor. Sebep: Çok sık döngü talepleri veya sağlayıcıda gecikme. Çözüm: Aralığı artırın, 30-120 saniye bekleyin, döngü kurallarını kontrol edin.
- Problem: İşlemler sayfaları yüklerken "askıda" kalıyor. Sebep: Uygun olmayan zaman aşımı veya ağır sayfa. Çözüm: Zaman aşımını artırın, "Wait For Element" kullanın, makul beklemeler ekleyin.
- Problem: Akış sayısı artarken hata oranı ani bir şekilde yükseliyor. Sebep: CPU/RAM/ağ kaynaklarının yetersizliği. Çözüm: Akış sayısını azaltın, senaryoyu optimize edin, kaynak ekleyin.
- Problem: Günlükler diski dolduruyor. Sebep: Yüksek ayrıntı düzeyi. Çözüm: Günlük döngüsünü etkinleştirin, üretimdeki detayları azaltın.
- Problem: Projeyi taşımak mümkün değil. Sebep: Mutlak yollar. Çözüm: Göreli yollar kullanın ve ortak klasör yapısı oluşturun.
- Problem: Başka bir makinede proxy erişim hatası. Sebep: IP ile yetkilendirme, beyaz liste eksik. Çözüm: Yeni makinenin IP'sini mobil proxy sağlayıcınıza ekleyin.
Ekstra İmkanlar
Gelişmiş Ayarlar
- Dinamiktir proxy havuzları: farklı bölgeler veya görevler için ayrı CSV'ler tutarak koşullara göre geçiş yapın.
- Akışların karmaşık orkestrasyonu: BAS düzeyinde görev kuyrukları, önceliklendirme ve eşzamanlı işlemler için sınırlamalar oluşturabilirsiniz.
- Özel başlıklar ve tarayıcı profilleri: User-Agent ve dilleri ayarlayın, yüklemeyi optimize etmek için resmi olmayan/JS gibi durumları etkinleştirip devre dışı bırakın.
Optimize Edilmesi Gerekenler
- Önbellekleme: Göreviniz buna izin veriyorsa, değişmeyen kaynaklar için önbelleği kullanarak tekrar eden talepleri hızlandırın.
- Görev Ayırma: Yoğun adımları (örneğin, büyük sayfaların analizi) ayrı aşamalara ayırın ve bunları kuyruklarla çalıştırın.
- İzleme: dış metrikler (CPU/RAM/sağlık/ağ) ve akışa özel başarı oranları, bozulmaları zamanında takip etmenizi sağlar.
Ne Daha Yapılabilir
- Bildirim entegrasyonu: senaryonun tamamlanmasının ardından bir e-posta veya bildirim gönderin.
- Proxy listelerinin otomatik güncellenmesi: Tedarikçi güncel hostlar/portlar sağlıyorsa, periyodik senkronizasyon sağlayın.
- Mobil sağlayıcı API üzerinden esnek döngü: Örneğin, mobileproxy.space seviyesindeki hizmetlerde, IP değiştirmeyi zamanlama veya olay bazında kolay erişimler için uygun talepler bulunur.
⚠️ Dikkat: Herhangi bir entegrasyon ve genişlemeyi, hedef sitelerin yasalarına ve kurallarına dikkat ederek yapın. Otomasyonu, yasalar veya kullanım koşullarına aykırı olan görevlerde kullanmayın.
Sıkça Sorulan Sorular
- Proxy'nin gerçekten kullanıldığını nasıl anlarım? IP kontrol sayfasını açın (örn. httpbin aracılığıyla), görünür IP'yi ağınızdaki IP ile karşılaştırın. Proxy'nin IP'siyle eşleşeeeektir.
- Kaç akış başlatabilirim? CPU/RAM, proxy kalitesi ve senaryonun karmaşıklığına bağlıdır. 2-3 ile başlayın ve yavaş yavaş sayı artırın, başarı oranlarını kontrol ederek.
- Mobil IP döngüsünü her zaman yapmak gerekir mi? Hayır. Olay başına (ağ hatası, engeller) veya makul aralıklarla döngü yapın. Sık döngüler istikrarı bozabilir.
- Hangisi daha iyi: kullanıcı adı/parola ile yetkilendirme mi yoksa IP ile mi? Kullanıcı adı/parola ile yetkilendirme, senaryoları makineler arasında taşımayı kolaylaştırır. IP ile olan sanal, biraz daha az bileşen requires ama ağ değişiklikleri sırasında beyaz listenyi güncellemek gerekir.
- Bir proxy'yi birkaç akışta kullanmak mümkün mü? Tavsiye edilmez. Bu, çakışma riskini artırır ve yönetimi zayıflatır. Önerilen yöntem, her akış için bir proxy kullanmaktır.
- Parolaları açığa çıkmadan proxy'leri nasıl saklayabilirim? BAS'ta (mevcutsa) korumalı değişkenleri kullanın, dosyalara erişimi sınırlayın ve gizlilik depolarını şifreleyin.
- Neden bazı sayfalar yavaş yükleniyor? Ağ gecikmeleri, site aşırı yükleme veya ağır bir içerik olasılıkları vardır. "Wait For Element" kullanın, zaman aşımını optimize edin ve eşzamanlı işlemleri azaltın.
- Proxy sağlayıcım geçici olarak istikrarsızsa ne yapmalıyım? Başka bir sağlayıcıdan yedek havuz bulundurun, akış sayılarını düşürün ve döngü sürelerini stabilize ettirin.
- Senaryoyu GUI olmadan çalıştırmak mümkün mü? Evet, BAS projeleri planlayıcı ve konsol modları aracılığıyla başlatmayı destekler. Başlangıçta, GUI üzerinden hata ayıklaması önerilir.
- Bir şey yanlış gittiğinde nerede bakarım? logs\main.log, ardından thread_*.log ve daha sonra results.csv'yi inceleyin. Proxy ve akışın eşleşme durumunu kontrol ederek hataları bulmayı deneyin.
Sonuç
BAS'ın kurulmasından mobil proxy ayarlarına ve çoklu işlem senaryosunun başlatılmasına kadar tam bir yolculuk yaptınız. Proje yapısını oluşturduk, hata işleme mantığını dahil ettik, günlükleme ve raporlama sistemini düzenledik, taşınabilirliği kontrol ettik. Artık temel bir ama sağlam bir temelin var: kendi görevlerinizi geliştirebilir, karmaşık kontroller ekleyebilir, raporlamayı zenginleştirebilir ve ihtiyaç ve kaynaklarınız arttıkça çoklu işlerinizi ölçeklendirebilirsiniz.
İlerleyen zamanlarda, a) senaryoların doğruluğunu daha ince koşullar ve seçiciler ile artırabilirsiniz, b) akışların sırayla ayrılmasını geliştirebilirsiniz, c) mobil proxy listelerini otomatik bir şekilde güncel tutabilir ve sağlayıcınızın API'sını kullanarak güncellemeler yer alabilirsiniz (örneğin, bulunan mobileproxy.space), d) bildirim ve izleme entegre edebilirsiniz, böylece gerçek zamanlı istikrar kontrolü gerçekleştirebilirsiniz.
En önemli ilke - aşamalı ilerlemektir. Dikkatlice ölçeklendirin, metrikleri ölçmeye özen gösterin ve değişiklikleri belgeler halinde tutun. Böylece BAS ile mobil proxy kullanımı, sizin için öngörülebilir, güvenli ve etkili bir araç haline gelecektir. Eğer ayarlarda şüphe duyuyorsanız - kılavuzun "Adım 3: BAS'ta Mobil Proxy'lerin Bağlanması ve Ayarlanması" ve "Tipik Hatalar ve Çözümler" bölümlerine dönebilirsiniz; iç bağlantılar aracılığıyla.
Başarılar dileriz!