- Cloudflare, Browser Rendering’in yeni /crawl endpoint’ini açık beta olarak sundu; tek bir API çağrısıyla tüm web sitesi taranabiliyor
- Başlangıç URL’si gönderildiğinde sayfaları otomatik olarak keşfedip headless tarayıcıyla render ediyor, sonuçları HTML, Markdown, JSON formatlarında döndürüyor
- Workers AI tabanlı yapılandırılmış JSON çıktısı, tarama derinliği, sayfa sayısı sınırı, wildcard desenleri gibi kapsam kontrolü özellikleriyle birlikte artımlı tarama ve statik mod gibi çeşitli işlevler sunuyor
- robots.txt kurallarına uyuyor ve anormal trafiği önlemeye yardımcı olan crawl-delay desteği de sağlıyor
- Model eğitimi, RAG pipeline oluşturma, site genelinde içerik araştırması ve izleme için kullanılabiliyor
/crawl endpoint’ine genel bakış
- Cloudflare’ın Browser Rendering hizmetine yeni eklenen /crawl endpoint’i, tek bir API çağrısıyla tüm web sitesini dolaşıp içerik toplama işlevi sunuyor
- Kullanıcı başlangıç URL’sini gönderdiğinde sistem bağlantıları otomatik olarak takip ediyor, sayfaları render ediyor ve sonuçları döndürüyor
- Dönüş formatı olarak HTML, Markdown veya yapılandırılmış JSON seçilebiliyor
- Bu özellik açık beta (open beta) durumunda sunuluyor ve Workers Free ile Paid planlarının tamamında kullanılabiliyor
- Tarama işi eşzamansız (asynchronous) şekilde yürütülüyor
- URL gönderildiğinde bir job ID alınıyor ve işlem tamamlandığında sonuçlar daha sonra sorgulanabiliyor
- Sayfalar sıralı şekilde işleniyor ve tamamlanan sonuçlar kademeli olarak görülebiliyor
Temel özellikler
- Birden çok çıktı formatı desteği
- Sonuçlar HTML, Markdown, JSON gibi farklı formatlarda döndürülebiliyor
- JSON formatı, Workers AI üzerinden yapılandırılmış veri olarak sunuluyor
- Tarama kapsamı kontrolleri (crawl scope controls)
- Tarama derinliği (depth), sayfa sayısı sınırı, URL deseni dahil etme/çıkarma ayarları yapılabiliyor
- Otomatik sayfa keşfi (automatic page discovery)
- URL’ler site haritası (sitemap), sayfa bağlantıları veya her ikisi temel alınarak otomatik olarak keşfediliyor
- Artımlı tarama (incremental crawling)
modifiedSince ve maxAge parametreleri kullanılarak değişmemiş sayfalar atlanıyor, böylece zaman ve maliyet tasarrufu sağlanıyor
- Statik mod (static mode)
render: false ayarında tarayıcı çalıştırılmadan yalnızca statik HTML alınabiliyor; bu da statik sitelerin hızlı taranmasını sağlıyor
- Düzgün davranan bot (well-behaved bot)
- robots.txt yönergelerine uyuyor ve crawl-delay ayarını da tanıyor
Kullanım alanları ve referans dokümanlar
Kullanılabildiği planlar
- Workers Free ve Paid planlarında kullanılabiliyor
5 yorum
Biraz denedim ama bot engelini aşamıyor gibi görünüyor; ben şimdilik yine apify ya da zyte kullanmaya devam edecek gibiyim.. haha
Bu, Cloudflare'ın bot engelleme özelliğini de aşıyor mu?
Hem mızrak satıp hem kalkan mı satıyorlar??
Bir tuhaf geliyor bana haha
Herkesin Monopoly’si başlıyor galiba hahaha
Hani şu bir kartı savunan, bir yeteneği etkisizleştiren, bir özel yeteneği falan olan şeyler...
Hahaha, bir şekilde komik.
Hacker News yorumları
Benim deneyimime göre Cloudflare tarafından korunan sayfalarda bu çalışmıyor
Ne yazık ki, sorunu kendileri yaratıp sonra çözümü tekrar satıyorlar gibi oluyor
Cloudflare’ın proxy kullanan web sitelerinin önceden scrape edilmiş sürümlerini barındırmıyor olması şaşırtıcı
Örneğin https://www.example.com/cdn-cgi/cached-contents.json gibi bir formatta sunabilirlerdi; sonuçta içerik zaten cache’de bulunduğundan ayrıca bir scraping servisi veya API’den geçmeye gerek kalmaz diye düşünüyorum
Elbette bunu yapmamalarının nedenleri vardır, ama varsayılan bir seçenek olarak sunulmaması yine de şaşırtıcı
Erişim kontrolü eklenebilir ama bu da kimsenin istemediği karmaşık bir CDN API yaratmak anlamına gelir ve hukuki sorunlar da doğurur
“Kullanışlı JSON” ile “AI scraper’lara tüm siteyi vermek” arasında çok ince bir çizgi var
Yalnızca istek geldiğinde dönüştürmek, cache verimliliğini korurken origin isteğini de azaltabilir
Ben CDN’de çalışırken cache hit oranını artırmak için 'second hit caching' kullanıyorduk — yani ancak ikinci istek geldiğinde cache’e alma yöntemi
Markdown for Agents özelliği açıldığında, AI sistemleri
text/markdownistediğinde HTML’yi gerçek zamanlı olarak Markdown’a dönüştürüyorCloudflare’ın hem scraping savunmaları satıp hem de aynı anda scraping hizmeti satması biraz mafya gibi
Bunu internet genelindeki etkisi sayesinde yapabiliyor
DNS daha çok veri toplama ve ‘iyi imaj’ için var
Yayıncı Cloudflare arkasında duruyor, AI şirketi veriyi istiyorsa Cloudflare üzerinden ücretli erişim sağlıyor
Ana müşteri kitlesi sıradan kullanıcılar değil, AI şirketleri
/crawlendpoint’irobots.txtkurallarına uyuyorYani crawl edilmesi yasak URL’ler yanıtta
"status": "disallowed"olarak işaretleniyorYapılandırılmış bir crawl endpoint sunmak,
robots.txtya dasitemapın doğal bir evrimi gibi geliyorDaha fazla site böyle makine tarafından okunabilir giriş noktaları sunarsa indeksleme çok daha verimli olur
Şu anda crawler’lar aynı yapıları sürekli yeniden keşfederek büyük israf yaratıyor
Ben API’lerin insan merkezli tasarlanmasını, LLM sağlayıcılarının da bunun üzerinde optimizasyon yapmasını tercih ederim
HTML ve DOM özünde makinelerin okuyacağı bir yapı
Yeni bir şey icat etmeye gerek yok; mevcut teknolojileri doğru kullanmak yeterli
İnsanlara normal sayfa, botlara ise farklı bir sayfa göstererek kötüye kullanılabilir
Web arşivleme için kullanılabilirdi ama WARC formatı desteğinin olmaması üzücü
Gazeteciler ve araştırmacılar için yararlı olurdu
Origin sunucu hâlâ Cloudflare’ın Browser Rendering isteklerini algılayıp engelleyebilir
CF-Workerbaşlığıyla ayırt edilebilir ve WAF kurallarında ya da middleware tarafında filtrelenebilirAncak bu istekler Cloudflare ASN 13335’ten gelir ve düşük bot score taşır; bu yüzden yalnızca puan tabanlı basit savunmalar işe yaramaz
Sonuçta uygulama seviyesinde rate limiting ve davranış analizi daha etkili olur
Yapısal bir çatışma var ama bu, arama motorlarının webmaster araçları sunmasına benzer bir durum
robots.txtkurallarına uydukları için en basit yöntem buBu crawler’ın bot engelleme mantığının önünde mi arkasında mı çalıştığını merak etmiştim
Sitemin iyi crawl edilmiş bir sürümünü sunabilmeyi isterdim
Site yöneticilerine böyle bir özellik verilse, crawler’lar sadece aktarım maliyetini ödeyerek erişebilirdi
Bunu doğrudan kendi sitem için bir crawl işi çalıştırıp
static.alt alan adı üzerinden sunacak şekilde de kurmak mümkün olabilirSite statikse zaten HTML olarak render edilip barındırılabilir; dinamikse bir anlık görüntünün ne kadar anlamlı olacağı şüpheli
Cache eklemek daha iyi bir yaklaşım olabilir
Cloudflare son zamanlarda tüm havalı özellikleri toplayan taraf gibi görünüyor
AWS’nin ne yaptığını merak ediyorum
Bu özellik gerçekten etkileyici
Cloudflare geleceğin yönüne önceden hareket ediyor