Görüşümüz: Biz Geonode olarak proxy satıyoruz; bu, bir agregatörün girdilerinden biridir ve çoğu kılavuzun aşırı derecede vurguladığı unsurdur. Dolayısıyla, baştan dürüstçe şunu belirtelim: Proxy’ler satın almanız gereken ilk şey değil, en son şey olmalıdır. Toplanabilir verilerin büyük bir kısmı, ücretsiz, yapılandırılmış, istikrarlı ve bu amaç için açıkça sunulan beslemeler, API'ler ve site haritaları aracılığıyla elde edilebilir. Birinin RSS beslemesi olarak yayınladığı içerik için bir tarayıcı oluşturmak boşa harcanan emektir ve bunu keşfetmeden önce bant genişliği satın almak boşa harcanan paradır. Proxy'ler belirli bir noktada önem kazanır — çok sayıda bölgeden, hız sınırlaması uygulayan sitelere karşı büyük hacimde tarama yaptığınızda — ve bu nokta çoğu kişinin sandığından daha geç gelir. Bu sınırın tam olarak nerede olduğu konusunda aşağıda bir bölüm bulunmaktadır.
Ne Tür Bir Toplayıcı: Dört Model
Bunların ekonomik yapısı ve hukuki riskleri farklıdır; bunları birbirine karıştırmak ilk hatadır.
Bağlantı toplayıcıları başlıkları toplar ve bağlantı verir. Depolama ihtiyacı azdır, hukuki risk düşüktür ve kullanıcılar için geçiş maliyeti düşüktür. Değer tamamen içerik seçimi ve hızda yatmaktadır. Haber ve içerik toplayıcıları çoğunlukla bu kategoride yer alır.
Liste toplayıcıları, iş ilanları, emlak, araba, etkinlikler gibi yapılandırılmış kayıtları toplar ve bunları aranabilir bir veritabanı olarak sunar. Daha yüksek değer, daha fazla çaba gerektirir ve bu modelde tekilleştirme, mühendislik açısından en büyük sorun haline gelir.
Fiyat toplayıcıları, aynı ürünü farklı satıcılar arasında takip eder. En dar kapsamlı ve en zor olanı budur: Ürünleri farklı şekillerde tanımlayan perakendeciler arasında eşleştirme yapmak gerçekten zor bir sorundur ve güncellik gereksinimleri çok katıdır; çünkü güncel olmayan bir fiyat, hiç fiyat olmamasından daha kötüdür.
Yorum ve puan toplama siteleri, görüş verilerini birleştirir. Kapsamları sınırlıdır, yoğun normalleştirme çalışması gerektirir ve kaynağı yanlış aktardıkları yönündeki suçlamalara en çok maruz kalan sitelerdir.
Birini bilinçli olarak seçin. Mimari farklıdır, hukuki analiz farklıdır ve “her şey için bir toplama sitesi” yaklaşımı, projelerin asla tamamlanamaz hale gelmesine neden olur.
Önce Verileri Kolay Yoldan Edin
Tercih sırasına göre. Bu listeyi baştan sona inceleyin ve bir şey işe yarar yaramaz durun.
Resmi API’ler. Kaynak bir API yayınlıyorsa, onu kullanın. Kararlı, yapılandırılmış ve onaylanmış bir kaynaktır; arıza durumunda birisi sorunu giderecektir. Şartları okuyun — çoğu, yeniden dağıtımı, önbellekleme süresini ve ticari kullanımı kısıtlar ve bu kısıtlamalar ürününüzü şekillendirir.
Ortak veya bağlı kuruluş beslemeleri. Birçok sektör, özellikle agregatörler için toplu beslemeler yayınlar, çünkü agregatörler onlara trafik sağlar. İş ilan siteleri, emlak portalları, perakendeciler ve seyahat operatörleri genellikle size tüm veri setini sunan bir ortaklık programına sahiptir. Bu, bu alanda en az kullanılan kaynaktır ve bunun nedeni, insanların X'e e-posta gönderip bir beslemesi olup olmadığını sormak yerine "X'i nasıl kazıyabilirim" diye arama yapmalarıdır. Sorun. Şaşırtıcı sayıda kişi evet cevabı verir.
RSS ve Atom beslemeleri. Hâlâ yaygın olarak yayınlanıyor ve hâlâ bağlantı toplama için ideal. Yapılandırılmış, ucuz, tam da bu amaç için tasarlanmış ve kullanım için açıkça sunulmuş.
Site haritaları. sitemap.xml size eksiksiz bir URL listesi ve lastmod zaman damgaları sunar; bu sayede kaba kuvvet yöntemiyle değil, verimli bir şekilde tarama yapabilirsiniz. Tarama yapmanız gereken durumlarda bile, site haritası size nelerin değiştiğini gösterir, böylece sadece o değişiklikleri alırsınız.
Sayfadaki yapılandırılmış veriler. HTML ayrıştırıcıları yazmadan önce, <script type="application/ld+json"> bloğunda JSON-LD olup olmadığını kontrol edin. JobPosting, Product, Event ve Recipe için Schema.org işaretlemesi, arama özelliklerini desteklediği ve zaten alacağınız bir sayfadan size temiz, yapılandırılmış veriler sağladığı için yaygın olarak kullanılmaktadır. Ayrıca, yeniden tasarımlardan CSS seçicilerinden çok daha iyi bir şekilde etkilenmez.
HTML ayrıştırma. Son çare. Kırılgan, bakımı zahmetli ve bir agregatörü kalıcı bir işe dönüştüren şeydir.
Sıralama, tek tek öğelerden daha önemlidir. Bu listenin en altından başlayan ekipler, önce bir tarayıcı geliştirir ve altı ay sonra beslemeyi keşfeder.
Tarama Yapmanız Gerektiğinde: robots.txt Artık Bir Standarttır
robots.txt, 2022 yılında bir gelenek olmaktan çıktı. RFC 9309 Robots Exclusion Protocol’ü standartlaştırır ve bir tarayıcı yazıyorsanız, uygulamanız gereken davranışı tanımlar.
Kesin olarak bilinmesi gereken dört gereklilik:
Eşleştirme, sıraya göre değil, özgüllüğe göre yapılır. "Bulunan en özgül eşleşme KULLANILMALIDIR. En özgül eşleşme, en fazla oktet içeren eşleşmedir." Birçok el yapımı ayrıştırıcının varsaydığı gibi "ilk eşleşme kazanır" kuralı geçerli değildir.
Önbellekte en fazla 24 saat saklayın. "Robotlar.txt dosyasına erişilemediği durumlar hariç, tarayıcılar önbelleğe alınmış sürümü 24 saatten fazla KULLANMAMALIDIR." Dağıtım sırasında bir kez alınması, kurallara uygun değildir.
Sunucu hataları, durma anlamına gelir. "Robotlar.txt dosyasına sunucu veya ağ hataları nedeniyle erişilemiyorsa......tarayıcı, erişimin tamamen yasaklandığını varsaymalıdır." 5xx hatası, tamamen geri çekilmek anlamına gelir. Buna karşılık, 404 hatası herhangi bir kısıtlama olmadığı anlamına gelir — dosya olmadığı için hiçbir şey yasaklanmaz.
En az 500 KiB'lik bir kısmı ayrıştırın. "Ayrıştırma sınırı en az 500 kibibayt OLMALIDIR." Büyük sitelerde büyük dosyalar bulunur.
Bunu kendiniz yazmak yerine, bakımlı bir kütüphane kullanın. Yalnızca özgüllük eşleştirme kuralı bile yaygın bir hata kaynağıdır ve robots.txt adresini yanlış okuyan bir tarayıcı, şikayetlere yol açan bir tarayıcıdır.
Dosyanın ötesinde, genel nezaket kurallarına uyun: iletişim URL'si içeren gerçek bir kullanıcı aracısıyla kimliğinizi belirtin, varsa Crawl-delay adresini dikkate alın, 429 ve 503 hatalarında hemen geri çekilin ve değişmemiş içeriği asla iki kez almamak için önbelleğe alın. If-Modified-Since veya If-None-Match ile yapılan koşullu istekler, kaynağa hiçbir maliyeti yoktur ve size de hiçbir maliyeti yoktur. Toplayıcıları engelleyen çoğu site, bunu varlıklarından değil, davranışlarından dolayı yapar.
Hukuki Boyut: Telif Hakkı, TDM İstisnaları ve Veritabanı Hakları
Bu bir hukuki tavsiye değildir ve yargı yetkisi büyük önem taşır. Ancak, geliştirmeye başlamadan önce anlaşılması gereken dört husus vardır.
Gerçekler genellikle telif hakkı kapsamına girmez; ifade ise girer. Bir iş unvanı, maaş, fiyat ve tarih gibi unsurlar gerçektir. İşi satmak için yazılan açıklama ise ifadedir. İlkini derlemek, ikincisini çoğaltmaktan çok daha sağlam bir zemine dayanır. Bu tek ayrım, en mantıklı veri derleyici tasarımını şekillendirir: yapılandırılmış gerçekleri depolayın, metin için kaynağa bağlantı verin.
Alıntı uzunluğu önemlidir. Bir başlığı ve bir cümleyi bağlantı ile birlikte yeniden yayınlamak, bir makaleyi yeniden yayınlamaktan farklı bir durumdur. Birçok yargı alanında bu sınırın nerede olduğu konusunda davalar açılmış ve sonuçlar farklılık göstermiştir. Daha kısa olan daha güvenlidir; yeniden yayınlamak yerine bağlantı vermek ise en güvenli yoldur.
AB’de, tasarım gereği makine tarafından okunabilir bir metin ve veri madenciliği istisnası bulunmaktadır. 2019/790 sayılı AB Direktifi Madde 4, hak sahiplerinin haklarını "uygun bir şekilde, örneğin makine tarafından okunabilir araçlar kullanarak" açıkça saklı tutmamış olmaları koşuluyla, herkesin metin ve veri madenciliği yapmasına izin vermektedir. Çevrimiçi olarak kamuya açık hale getirilen içerikler için, direktif, makine tarafından okunabilir hak saklı tutma bildirimlerini — “bir web sitesinin veya hizmetin meta verileri ile kullanım koşulları dahil” — uygun yol olarak kabul eder. Bu istisna, materyale yasal olarak erişilmiş olmasını da gerektirir.
Bir tarayıcı için pratik sonuç: makine tarafından okunabilir biçimde ifade edilen hak saklı tutma beyanlarına uyulması gerekir ve AB, bunları ifade etmeye yönelik protokolleri standartlaştırmak için çalışmaktadır. Makine tarafından okunabilir hak saklı tutma beyanlarını göz ardı eden bir tarayıcı geliştirmek, temellerinize bir uyum sorunu yerleştirmek anlamına gelir.
AB’nin ayrıca ayrı bir veritabanı hakkı da bulunmaktadır. Telif hakkının ötesinde, Veritabanı Direktifi, içeriğin kendisinin telif hakkına tabi olup olmadığına bakılmaksızın, bir veritabanının içeriğinin elde edilmesi, doğrulanması veya sunulmasına yönelik önemli yatırımları koruyan sui generis bir hak yaratmıştır. Bu, veri toplayıcılarla doğrudan ilgilidir; çünkü bir kişinin listeleme veritabanının önemli bir kısmını çıkarmak, her bir liste girişi salt bir gerçek olsa bile bu hakkı devreye sokabilir.
Bir de hizmet şartları vardır; bunlar yasal değil sözleşmeye dayalıdır ve birçok site bunları otomatik erişimi tamamen yasaklamak için kullanır. Hiçbir şeye tıklamamış olsanız bile bir şartın sizi bağlayıp bağlamadığı, yargı yetkisi alanına göre değişen ve gerçekten tartışmalı bir konudur. Yine de bunları okuyun: size sitenin bu konuda ne yapacağını söylerler ve bu, genellikle bir mahkemenin vereceği karardan daha acil bir öneme sahiptir.
Pratik özet: onaylanmış kaynakları tercih edin, metin yerine gerçekleri saklayın, kopyalamak yerine bağlantı verin, makine tarafından okunabilir kısıtlamalara uyun ve ticari açıdan önemli her konuda tavsiye alın.
Mimari: Dört Aşama ve Zor Olanı
Her toplayıcı aynı dört aşamadan oluşur ve bunlardan sadece biri zordur.
Alma. Ham içeriği alın. Dikkat edilmesi gerekenler: zamanlama, hız sınırlaması, yeniden denemeler, önbellekleme, koşullu istekler. Ham yanıtı her zaman saklayın — bir ayrıştırıcı arızalandığında, verileri yeniden almak yerine geçmiş verileri yeniden ayrıştırmak istersiniz.
Ayrıştırma. Ham içeriği yapılandırılmış kayıtlara dönüştürün. Dikkat edilmesi gerekenler: kırılganlık ve değişiklik algılama. Ayrıştırıcının çıktısının biçimi değiştiğinde uyarı verin, hata attığında değil; çünkü asıl maliyetli hata, ayrıştırıcının sessizce daha az alan döndürmeye başlamasıdır.
Normalleştirme ve tekilleştirme. Zor olan aşama. Aşağıda ayrıntılı olarak açıklanmıştır.
Sunma. Arama, filtreleme, görüntüleme. Standart web mühendisliği ve çoğu ekibin görünür kısım olduğu için erken aşamada aşırı yatırım yaptığı kısım.
Tekilleştirme, agregatörlerin başarısını veya başarısızlığını belirleyen unsurdur. Aynı iş ilanı, farklı başlıklarla dört farklı panoya yayınlanır. Aynı gayrimenkul, üç farklı emlakçı tarafından farklı fiyatlarla listelenir. Aynı ürün, her perakendecide farklı bir isimle satılır. Kullanıcılar sizi neredeyse tamamen bu açıdan değerlendirir: Aynı şeyi altı kez gösteren bir ilan sitesi, ne kadar eksiksiz olursa olsun bozuk olarak algılanır.
İşe yarayan yaklaşım katmanlıdır ve en ucuz olanı önce gelir:
Kesin tanımlayıcılar. ISBN’ler, parça numaraları, kayıt numaraları, kaynak kimlikleri. Varsa bunları kullanın ve başka bir şeye gerek kalmaz — sorunu tamamen çözerler.
Normalleştirilmiş anahtarlar. Küçük harfli, boşlukları birleştirilmiş, noktalama işaretlerinden arındırılmış alanlardan kanonik bir anahtar oluşturun: işveren artı unvan artı konum; posta kodu artı yatak odası sayısı artı kat alanı. Büyük bir kısmı ucuza yakalar.
Bulanık eşleştirme. Başlıklar ve açıklamalar üzerinde, elle etiketlenmiş bir örnek üzerinde ayarladığınız bir eşik değeri ile belirlenen, belirteç tabanlı benzerlik. Gerekli ve pahalıdır; bunu halihazırda kaba bir anahtarı paylaşan adaylarla sınırlayın, aksi takdirde karşılayamayacağınız tüm çiftler arası bir karşılaştırmaya dönüşür.
Belirsiz durumlar için manuel inceleme. Bazı vakaların insan müdahalesine ihtiyaç duyacağını kabul edin. Kullanıcılar şikayet ettikten sonra değil, erkenden inceleme kuyruğunu oluşturun.
İleride başınızı ağrıtmayacak iki tasarım kararı: her kaynak kaydını ayrı tutun ve bunları yıkıcı bir birleştirme yapmak yerine kanonik bir varlığa bağlayın — birleştirme işlemlerinde hata yapacaksınız ve bunları geri almanız gerekecektir. Ayrıca, iki kaydın neden birleştirildiğini günlüğe kaydedin; çünkü “bu listede neden yanlış fiyat görünüyor?” sorusu size sorulacak ve birleştirilmiş verilerle tek başına bu soruya cevap veremeyeceksiniz.
Güncellik, Zamanlama ve Maliyet
Güncellik gereksinimleri büyük ölçüde değişiklik gösterir ve tüm maliyet yapınızı belirler.
| Tür | Kabul edilebilir gecikme süresi | Etkisi |
|---|---|---|
| Haberler | Dakikalar | Besleme tabanlı, mümkün olduğunda anında gönderim |
| İş ilanları | Saatler ila bir gün | Çoğu kaynak için günlük tarama yeterlidir |
| Emlak | Saatler | Yalnızca aktif ilanlar için sık kontrol |
| Fiyatlar | Dakikalar ila saatler | En pahalı olanı |
| Etkinlikler | Günler | Genellikle haftalık tarama yeterlidir |
Bütçeleri mahveden hata, her şeyi en değişken öğenin gerektirdiği sıklıkta taramaktır. Çözüm, kademelendirmedir: sık değişenleri sık tarayın; nadir değişenleri nadir tarayın; ve değişmemiş içeriği tamamen atlamak için site haritalarından ve koşullu isteklerden gelen “lastmod” (İçerik Güncellenmedi) bilgisini kullanın.
Kaldırılma tespiti, kimsenin planlamadığı bir güncelliği sorunudur. Doldurulmuş bir iş ilanı veya satılmış bir evin listeden kaldırılması gerekir, ancak kaynaklar bunu nadiren duyurur. Ya bir sinyale (sayfanın 404 hatası vermesi, bir durum alanının değişmesi) ya da bir politikaya (üç taramada görülmeyen kayıtlar etkin olmayan olarak işaretlenir) ihtiyacınız vardır. Bunu yanlış yaparsanız, toplayıcınız geçersiz ilanlarla dolar; bu da, yinelenen içeriklerden sonra kullanıcıların bir toplayıcıya güvenmeyi bırakmasının en yaygın ikinci nedenidir.
Maliyet, kayıt sayısıyla değil, veri alma işlemleriyle orantılıdır. Saat başı kontrol edilen on bin ilan, günde 240.000 veri alma işlemi anlamına gelir; aynı ilanların günlük olarak kontrol edilmesi ise 10.000 işlemdir. Aynı veriler, bant genişliği ve kaynaklara yüklediğiniz yük açısından yirmi dört katlık bir fark yaratır. Kabul edilebilir eskimenin her saati paraya mal olur.
Proxy'lerin Uygun Olduğu ve Olmadığı Durumlar
İş akışımızın son aşamasını, elimizden geldiğince doğru bir şekilde açıklıyoruz.
Aşağıdaki durumlarda proxy'lere ihtiyacınız yoktur: feed'leri veya API'leri kullanıyorsanız, hacminiz mütevazıysa, tek bir konumdan hız sınırlaması olmayan kaynaklara tarama yapıyorsanız veya hâlâ geliştirme ve test aşamasındaysanız. Bu, erken aşamadaki birçok agregatörü tamamen kapsar.
Aşağıdaki durumlarda proxy'lere ihtiyacınız vardır: tek bir adresin hız sınırlamasına maruz kalacağı kadar yoğun tarama yapıyorsanız; içerik bölgelere göre farklılık gösteriyorsa ve birden fazla bölgeyi taramanız gerekiyorsa; dağıtılmış tarayıcılar çalıştırıyorsanız ve bunların, birkaç iş parçacığına sahip tek bir makine yerine ayrı istemciler gibi görünmesini istiyorsanız; veya bölgeye özgü fiyatlandırma ve kullanılabilirlik için coğrafi doğruluğa ihtiyacınız varsa.
Hangi tür: Çoğu tarama işlemi için veri merkezi seçeneği tercih edilmelidir, çünkü çok daha ucuzdur ve halka açık listeleme sayfaları genellikle daha fazlasını gerektirmez. Bizim hizmetimiz 0,14 $/GB'den başlar ve IP başına değil, trafik bazında faturalandırılır. Yalnızca veri merkezinin açıkça yetersiz kaldığı durumlarda veya tüketici ağı coğrafi konum bilgisine ihtiyacınız olduğunda, konut ağına geçin — 0,79 $/GB'den başlayan fiyatlarla. Yeni hesaplara 1 TB ücretsiz konut trafiği verilir; bu, buna ihtiyacınız olup olmadığını belirlemek için yeterlidir. Rakamlar, Eylül 2026'da kontrol edilen fiyatlandırma sayfamızdan alınmıştır.
Kimsenin hesaba katmadığı maliyet faktörü: başsız tarayıcılar. Kaynaklarınız JavaScript işleme gerektiriyorsa, tarayıcı her görüntüyü, yazı tipini ve komut dosyasını alır ve bant genişliği, ham HTTP’ye kıyasla on kat artar. İhtiyacınız olmayan kaynak türlerini engelleyin. Ölçümlü bant genişliğinde bu, kullanılabilecek en büyük tek etken olup, daha geniş kapsamlı ekonomik boyutları proxy fiyatlandırma kılavuzumuzda ele aldık.
Ve dürüstçe söylemek gerekirse: proxy’ler dağıtım sorununu çözer. Hizmet şartlarını çözmezler, veritabanı haklarını çözmezler ve bir kaynağın sizi orada istemesini sağlamazlar. Bir site, taramanızı istemediğini belirtmişse, daha fazla adres bu soruna bir çözüm değildir; bu, talebi daha verimli bir şekilde görmezden gelmenin bir yoludur.
Neden Çoğu Toplayıcı Başarısız Olur?
Teknik nedenlerden dolayı değil.
Benzersiz bir değer yok. Herkesin topladığı içeriği toplamak, mevcut bir sitenin daha kötü bir versiyonunu ortaya çıkarır. Değer, başkalarının sahip olmadığı kapsamda, başkalarının sunmadığı bir düzenlemede ya da mevcut oyuncular için çok küçük bir niş pazarda bulunmalıdır.
Yinelenen içerikler. Yukarıda ele alınmış olsa da tekrar etmeye değer. Bu, kullanıcıların ayrılmasının bir numaralı nedenidir.
Güncel olmayan veriler. Geçerliliğini yitirmiş listeler, eksik listelerden daha hızlı güven kaybına yol açar; çünkü eksik bir liste görünmezken, geçerliliğini yitirmiş bir liste kullanıcının zamanını boşa harcar.
Değeri aşan bakım yükü. Yirmi adet elle yazılmış HTML ayrıştırıcısı, sonsuza kadar sürecek bir yarı zamanlı iştir. Eklediğiniz her kaynak, sabit ve devam eden maliyeti artırır. Beslemeleri olan kaynakları tercih edin; bakımı katkısından fazla olan kaynakları bırakmaya hazır olun.
Tavuk ve yumurta sorunu. Toplayıcıların kullanıcıları çekmek için kapsamlı olması, kullanıcıların ise bu kapsamı haklı çıkarması gerekir. Çözüm, geniş bir alanda kısmi olmak yerine dar bir alanda eksiksiz olmaktır.
Geç ortaya çıkan hukuki sorunlar. İşinizi tek bir kaynağa dayandırdıktan sonra alacağınız bir “faaliyet durdurma ve vazgeçme” talebi, işe başlamadan önce bir ortakla yapacağınız görüşmeden çok daha pahalıya mal olur. En büyük kaynaklarınızla erkenden görüşün; bazıları gelen trafiği memnuniyetle karşılayacak, karşı çıkacak olanları ise ilk günden tespit etmek daha iyidir.
İnsanlar Ayrıca Şunları Soruyor
Bir veri toplama sitesi kurmak yasal mı?
Bu, neyi, nereden ve nasıl topladığınıza bağlıdır. Gerçekler genellikle telif hakkı kapsamına girmezken, ifade biçimi telif hakkı kapsamındadır; bu nedenle yapılandırılmış verileri depolamak ve kaynağa bağlantı vermek daha güvenli bir tasarımdır. AB'de metin ve veri madenciliği istisnası, makine tarafından okunabilir haklar ve ayrı veritabanı hakkı geçerlidir. Ticari açıdan önemli her konuda danışmanlık alın.
Toplayıcılar verilerini nereden alır?
Tercih sırasına göre: resmi API’ler, iş ortağı ve bağlı kuruluş beslemeleri, RSS ve Atom, site haritaları, sayfalara gömülü yapılandırılmış veriler ve ancak ondan sonra HTML ayrıştırma. En çok göz ardı edilen kaynak iş ortağı beslemeleridir — birçok sektör, toplayıcılara trafik sağladıkları için onlar için eksiksiz veri kümeleri yayınlar. Bir tarayıcı oluşturmadan önce mutlaka danışın.
Bir toplayıcı oluşturmak için proxy'lere ihtiyacım var mı?
Başlangıçta hayır. Beslemeler ve API'ler için proxy gerekmez; tek bir konumdan yapılan mütevazı taramalar için de genellikle gerekmez. Hacim, hız sınırlamalarını tetiklediğinde, bölgeye özgü içeriği görmeniz gerektiğinde veya dağıtılmış tarayıcılar çalıştırdığınızda proxy'ler gerekli hale gelir. Veri merkezi bant genişliği mantıklı bir varsayılan seçenektir; konut bağlantısı ise yalnızca açıkça gerekli olduğu durumlarda kullanılmalıdır.
Toplayıcılar yinelenen listeleri nasıl işler?
Katmanlı eşleştirme, en ucuzdan başlayarak: varsa tam tanımlayıcılar, ardından temizlenmiş alanlardan oluşturulan normalleştirilmiş anahtarlar, daha sonra kaba aday grupları içindeki belirsiz benzerlikler ve son olarak da belirsiz kalanlar için insan tarafından inceleme. Kaynak kayıtlarını ayrı tutun ve bunları yıkıcı bir şekilde birleştirmek yerine kanonik bir varlığa bağlayın.
robots.txt dosyası benden ne yapmamı gerektirir?
RFC 9309'dan bu yana bu, bir gelenek olmaktan çıkıp bir standart haline gelmiştir. Sıraya göre değil, özgüllüğe göre eşleştirin, dosyayı en az günde bir kez yenileyin, sunucu hatalarını tamamen yasaklanmış olarak değerlendirin, 404 hatasını kısıtlama yok olarak değerlendirin ve en az 500 KiB'yi ayrıştırın. Kendi ayrıştırıcınızı yazmak yerine, bakımlı bir kütüphane kullanın.
Bir agregatör verilerini ne sıklıkla güncellemelidir?
Kullanım senaryonuzun izin verdiği ölçüde nadir olarak güncellemelisiniz, çünkü maliyet, veri alma sayısıyla orantılıdır. Haberler için dakikalar, iş ilanları için saatler, etkinlikler için günler gerekir. Kaynaklarınızı değişkenlik derecesine göre sınıflandırın, değişmemiş içeriği atlamak için site haritası lastmod ve koşullu istekler kullanın ve kaldırılan listeleri tespit etmek için açık bir politika belirleyin.
Veri toplayıcıları engelleyen sitelerden içerik toplayabilir miyim?
Teknik olarak bunu yapabilirsiniz; ancak yapmanız gerekip gerekmediği ayrı bir sorudur. Engelleme, bir niyet beyanıdır ve bu engeli aşmak, şartları, veritabanı hakkını veya ilişkiyi değiştirmez. Daha iyi bir yol, bir besleme (feed) istemektir — tarayıcıları engelleyen pek çok site, iş ortaklarına ait verileri memnuniyetle sağlar.
Bir toplayıcı oluşturmanın en zor kısmı nedir?
Kesinlikle tekilleştirme ve güncelliği sağlamaktır. Veri alma ve ayrıştırma, kütüphaneler sayesinde çözülmüş sorunlardır. Farklı şekilde ifade edilmiş iki girişin aynı şey olduğuna karar vermek ve bunlardan birinin fark edilmeden ortadan kalktığını fark etmek, hem mühendislik çabasının hem de kullanıcı güveninin temelini oluşturur.
Sonuç
Bir agregatör oluşturmanın püf noktası, hangi sorunların gerçek olduğunu bilmektir. İçerik alma bu sorunlardan biri değildir — beslemeler, API’ler, site haritaları ve gömülü yapılandırılmış veriler, insanların beklediğinden çok daha geniş bir alanı kapsar; doğrudan HTML ayrıştırıcıları yazmaya başlayan ekipler ise genellikle kendileri için çoktan çözülmüş bir sorunu çözmeye çalışırlar.
Asıl sorunlar daha sonraki aşamalarda ortaya çıkar. Tekilleştirme, kullanıcıların verilerinize güvenip güvenmeyeceğini belirler. Kaldırma algılama ise, kullanıcıların verilerinize ikinci kez güvenip güvenmeyeceğini belirler. Bakım yükü, projenin, işaretlemelerini bağımsız olarak değiştiren yirmi kaynakla etkileşime girip girmeyeceğini belirler. Ve hukuki katman — ifadeye ilişkin telif hakkı, makine tarafından okunabilir TDM (Text and Data Mining) kısıtlamaları, AB veritabanı hakkı, hizmet şartları — tüm bu sürecin bir iş mi yoksa bir yükümlülük mü olduğunu belirler.
Geniş ve kısmi bir yaklaşım yerine, dar kapsamlı ve eksiksiz bir yaklaşımla başlayın. Ortak beslemesi bir sorun kategorisini tek seferde ortadan kaldırdığı için, kaynaklara doğrudan sormak da dahil olmak üzere her fırsatta onaylanmış kaynakları tercih edin. Altyapıyı — proxy'ler dahil — ulaştığınız sınıra işaret edebileceğiniz noktada ekleyin, daha önce değil.
