Web Otomasyon: Tarayıcıda Yapılan İşi Yazılıma Devretmek

Web otomasyon, bir tarayıcıda elle yürütülen adımların yazılım tarafından tekrarlanmasıdır: sayfayı aç, giriş yap, filtre uygula, veriyi oku, formu doldur. Kulağa basit gelir, ama sağlam bir otomasyon kurmak sayfanın nasıl yüklendiğini, öğelerin nasıl adreslendiğini ve oturumun nasıl korunduğunu anlamayı gerektirir. Bu sayfa o temeli anlatır.

Üç katman: API, tarayıcı ve görüntü

Bir web işini otomatikleştirmenin üç yolu vardır ve doğru katmanı seçmek projenin kaderini belirler. En üstte resmî API vardır: hedef hizmet size yapılandırılmış bir arayüz sunuyorsa en hızlı, en kararlı ve en meşru yol budur. İkinci katman tarayıcı otomasyonudur: gerçek bir tarayıcı açılır, sayfa yüklenir, öğeler adreslenerek okunur veya tıklanır. Arayüzü olan ama API’si olmayan hizmetler için tek pratik yol genellikle budur. Üçüncü katman görüntü tabanlı otomasyondur: ekran görüntüsü alınıp piksel veya metin tanıma ile karar verilir. En kırılgan yöntemdir ve yalnızca ilk ikisi mümkün olmadığında kullanılmalıdır. Katman seçerken sıralamayı hep yukarıdan aşağıya izleyin. Alt katmana inildikçe kurulum hızlanır gibi görünse de bakım yükü artar; görüntü tabanlı bir akış, ekran çözünürlüğü değiştiğinde bile bozulabilir.

Selektörler ve kırılganlık: otomasyon neden bozulur?

Tarayıcı otomasyonu, sayfadaki öğeleri bir adresle bulur. Bu adres bazen öğenin kimliği, bazen sınıf adı, bazen sayfadaki konumudur. Sorun şu ki bu adresler sitenin iç yapısına aittir ve site sahibi onları size haber vermeden değiştirir. Bir tasarım güncellemesi sınıf adlarını değiştirdiğinde otomasyonunuz aniden hiçbir şey bulamaz hâle gelir. Kırılganlığı azaltmanın yolu, mümkün olduğunca insanın gördüğü şeye dayanmaktır: öğenin görünen metnine, etiketine veya erişilebilirlik rolüne. Konum tabanlı adresler ise en kırılgan olanlardır; “üçüncü sütunun ikinci hücresi” gibi bir tanım, tabloya bir sütun eklendiği anda yanlış veri okumaya başlar. Bu yüzden iyi bir otomasyon, aradığı öğeyi bulamadığında sessizce boş değer yazmak yerine hata üretip durur. Kırılganlığı tamamen yok edemezsiniz; hedefiniz onu fark edilebilir hâle getirmek olmalıdır.

Oturum yönetimi: giriş yapmak ve giriş yapmış kalmak

Otomasyonun ilk büyük engeli genellikle giriş ekranıdır. Otomasyona kullanıcı adı ve parola vermek en kolay yoldur ama en riskli olanıdır; kimlik bilgisi bir yerlerde saklanmak zorunda kalır. Daha güvenli yaklaşım, otomasyonun sizin zaten giriş yapmış olduğunuz gerçek tarayıcı profilinizi kullanmasıdır: parola hiç girilmez, mevcut oturum çerezleri kullanılır. Lastmedia botları bu modeli benimser. İkinci mesele oturumun düşmesidir; uzun taramalarda sistem sizi çıkışa zorlayabilir. Sağlam bir otomasyon her adımda “hâlâ giriş yapmış mıyım?” kontrolü yapar ve düştüğünü fark ederse veri toplamayı durdurup uyarı verir, boş sayfaları kayıt olarak yazmaz. Aynı mantıkla, iki adımlı doğrulama kullanan hesaplarda otomasyonun doğrulama ekranını geçmeye çalışmaması gerekir; doğru davranış, kullanıcıya haber verip beklemektir. Güvenlik adımlarını atlatmaya çalışan bir araç hem riskli hem kırılgandır.

Veri okuma ile form doldurma arasındaki fark

Web otomasyonunun iki yönü vardır ve risk profilleri farklıdır. Veri okumada otomasyon yalnızca alır: sayfayı görüntüler, içindekileri kaydeder, hedef sistemde hiçbir şeyi değiştirmez. Bir hata olursa sonucu eksik veya yanlış bir tablodur; geri alınabilir. Form doldurmada ise otomasyon hedef sistemde kalıcı değişiklik yapar: ilan yayınlar, fiyat günceller, mesaj gönderir. Buradaki bir hata geri alınamayabilir — yanlış fiyatla yayınlanan bir ilan veya yanlış kişiye giden bir mesaj gibi. Bu yüzden yazma yapan otomasyonlarda mutlaka bir ön izleme adımı, bir sayı sınırı ve ilk çalıştırmalarda insan onayı olmalıdır. Okuma ile yazmayı aynı özenle ele almak yanlıştır; yazma daha fazlasını hak eder.

Hız, eşzamanlılık ve nazik davranmak

Otomasyonu hızlandırmak cazip görünür ama iki maliyeti vardır. Birincisi teknik: sayfa tam yüklenmeden okumaya geçen bir bot boş alan okur ve tablonuza sessizce eksik veri yazar. İkincisi ilişkiseldir: aynı anda çok sayıda istek göndermek hedef sunucuya gereksiz yük bindirir ve sizi hızla kısıtlanacak bir davranış profiline sokar. Sağlıklı yaklaşım, eşzamanlılığı düşük tutmak, istekler arasına değişken bekleme koymak ve sunucu yavaşladığında hızı kendiliğinden düşürmektir. Ayrıca aynı veriyi tekrar tekrar çekmek yerine yerelde önbelleğe almak hem sizin sürenizi kısaltır hem karşı tarafa yük bindirmez. Nazik otomasyon uzun ömürlü otomasyondur. Pratik bir kural: taramayı hedef sitenin görece sakin olduğu saatlere yayın ve toplam süreyi kısaltmak yerine güvenilirliği artırmayı hedefleyin. Yarım kalan hızlı bir tarama, tamamlanan yavaş taramadan değersizdir.

Yasal ve etik çerçeve

Web otomasyonunda teknik olarak mümkün olan ile yapılması uygun olan her zaman aynı şey değildir. Başlangıç noktası hedef sitenin kullanım şartları ve robots.txt dosyasıdır; bunlar bağlayıcılık dereceleri farklı olsa da site sahibinin beyan ettiği sınırı gösterir. Giriş duvarının arkasındaki içerik, herkese açık içerikten farklı bir çerçevede değerlendirilir. Topladığınız veri kişisel veri içeriyorsa — ad, telefon, adres gibi — KVKK yükümlülükleri devreye girer ve bu veriyi ticari iletişimde kullanmak ayrıca izin gerektirir. Kısacası veriyi toplayabiliyor olmanız, onu istediğiniz gibi kullanabileceğiniz anlamına gelmez. Sorumluluk, otomasyonu çalıştıran taraftadır. Bu çerçeveyi projeye başlamadan önce netleştirmek, sonradan toplanan veriyi silmek zorunda kalmaktan çok daha ucuzdur. Tereddüt ettiğiniz noktalarda hukuki görüş almak, otomasyonun kendisinden çok daha küçük bir maliyet kalemidir.

Sık sorulan sorular

Web otomasyon ile web scraping aynı şey mi?

Scraping, web otomasyonunun yalnızca veri okuyan alt kümesidir. Web otomasyon ise okuma yanında form doldurma, mesaj gönderme ve çok adımlı iş akışlarını da kapsar. Yazma yapan akışlar daha dikkatli tasarım ister.

Otomasyonum neden bir gün aniden çalışmayı bıraktı?

En yaygın sebep hedef sitenin arayüzünü güncellemesidir; öğe adresleri değiştiğinde bot aradığını bulamaz. İkinci sık sebep oturumun düşmesidir. İyi bir otomasyon bu iki durumu sessizce geçmek yerine hata olarak bildirir.

Görünmez (headless) mod mu, görünür tarayıcı mı?

Görünmez mod daha az kaynak tüketir ve sunucuda çalışmaya uygundur. Görünür tarayıcı ise gerçek kullanımdan daha az ayrışır ve hata ayıklamayı kolaylaştırır. Lastmedia ürünleri kullanıcının kendi makinesinde görünür profille çalışır.

Otomasyon giriş bilgilerimi görüyor mu?

Bizim ürünlerimizde hayır. Bot, sizin zaten giriş yapmış olduğunuz tarayıcı profilini kullanır; parola girmenize gerek kalmaz ve kimlik bilgileri hiçbir sunucuya gönderilmez.

Aynı anda kaç sayfa işlenmeli?

Genellikle az sayıda. Yüksek eşzamanlılık hem eksik okuma riskini artırır hem hedef sunucuya gereksiz yük bindirir. Kararlı sonuç isteyen çoğu senaryoda düşük eşzamanlılık ve değişken bekleme daha iyi toplam süre verir.

Hangi ürün web otomasyonu yapıyor?

Sahibinden Pro ilan verisi okur, Google Maps Lead bölgesel işletme listesi çıkarır, Marketplace Pack ise birden fazla pazaryerinde ilan yönetimi yapar. Üçü de tarayıcı katmanında, sizin makinenizde çalışır.