Crunchbase, Cloudflare'ün kurumsal düzeydeki bot karşıtı sistemiyle korunmaktadır ve bu sistem çoğu otomatik veri kazıyıcıyı engeller. Selenium gibi gelişmiş araçlar bile genellikle 403 hataları veya sonsuz "Biraz bekleyin..." sayfaları döndürür.
Python kullanarak Crunchbase'ten veri çekmeyi öğrenin: ortamınızı kurma, kısıtlamaları aşmak için birweb kilidi açıcı kullanma ve Crunchbase arama sonuçlarından ve şirket sayfalarından veri çıkarma.
Crunchbase veri çekme API'si performans testi sonucu
Grafik, Crunchbase veri çekme API'lerinin günlük başarı oranını göstermektedir:
Bu ölçümlerin nasıl toplandığına dair ayrıntılar için, Crunchbase veri kazıma kıyaslama metodolojisinin tamamına bakın.
Python kullanarak Crunchbase'ten nasıl veri kazıyabilirsiniz?
Bu Python veri kazıma eğitiminde, şirket adları, açıklamaları, web siteleri, genel merkezleri, çalışan sayıları, finansman turları ve büyüme ölçütleri de dahil olmak üzere Crunchbase verilerini nasıl toplayacağımızı göstereceğiz.
Bot karşıtı güvenlik önlemlerini aşmak ve istikrarlı erişimi sürdürmek için Bright Data Web Unlocker'ı kullandık.
Adım 1: Yapılandırma
Öncelikle web kazıma için gerekli Python kütüphanelerini kurun ve Crunchbase API proxy'mizi yapılandırın.
Şirket URL tanımlayıcıları (slug'lar), Crunchbase'te kullanılan benzersiz URL tanımlayıcılarıdır (örneğin, sayfa URL'si crunchbase.com/organization/anthropic ise, slug anthropic'tir).
Adım 2: Web Unlocker aracılığıyla istek gönderme
Crunchbase'e doğrudan istek göndermek yerine, bot karşıtı sistemleri atlatmak ve tutarlı sonuçlar sağlamak için web unlocker API'sini kullanıyoruz. Bu yöntem, CAPTCHA'ları ve JavaScript oluşturma gecikmelerini otomatik olarak ele alırken temiz HTML yanıtları döndürdüğü için büyük ölçekli Crunchbase kazıma işlemleri için idealdir.
3. Adım: HTML içeriğini ayrıştırma
Crunchbase tarafından döndürülen HTML'i BeautifulSoup kullanarak ayrıştırıyoruz ve yapılandırılmış veri çıkarımı için metni ayıklıyoruz . Bu adım, şirket adı, açıklama ve web sitesi URL'si gibi öğeleri bulmamızı sağladığı için herhangi bir Python Crunchbase kazıyıcısı için çok önemlidir.
Adım 4: Şirket adını çıkarın
Burada, Crunchbase sayfasındaki <title> etiketinden şirket adını çıkarıyoruz. Ad, ilk tireden önce görünür ve biz bunu yakalamak ve temizlemek için düzenli ifadeler kullanıyoruz. Bu, Crunchbase kazıyıcımızın yalnızca geçerli şirket adlarını toplamasını, sistem başlıklarını veya yer tutucuları toplamamasını sağlar.
Adım 5: Şirket açıklamasını çıkarın
Meta açıklama etiketi bize standartlaştırılmış bir şirket özeti sunar. Şirket verisi kazıyıcı veya zenginleştirme veri seti oluşturmak için tutarlı iş açıklamaları açısından mükemmel bir kaynaktır.
Adım 6: Şirket web sitesinin URL'sini çıkarın
Bu kod bloğu, şirketin resmi web sitesi URL'sini Crunchbase'ten çıkarır. Crunchbase, alan adlarını görünür bağlantı metni olarak gösterdiğinden, Crunchbase iç bağlantılarını filtreleyerek geçerli şirket web sitelerini belirleriz.
Adım 7: Merkez ofis konumunu çıkarın
Merkez ofisin bulunduğu şehri veya ülkeyi, bilinen konum URL kalıplarıyla eşleşen Crunchbase bağlantılarını hedefleyerek buluyoruz. Bu sayede Crunchbase verilerinizin bölgesel analiz veya pazar segmentasyonu için yararlı konum meta verilerini içermesi sağlanır.
Adım 8: Çalışan sayısını çıkarın
Crunchbase veri kazıyıcısı, Crunchbase'deki yapılandırılmış etiketleri kullanarak çalışan sayısını çıkarmaya çalışır. Bağlantı biçiminde mevcut değilse, metin aralıklarında arama yapmaya geri döner (örneğin, "1001–5000 çalışan"). Bu, analiz ve segmentasyon için güvenilir şirket büyüklüğü verileri sağlar.
Adım 9: Finansman bilgilerini çıkarın
Crunchbase veri çekme eğitiminin bu bölümü, yatırım turu bilgilerini (örneğin, A Serisi, Tohum, F Serisi) ve toplam toplanan sermaye değerlerini çıkarır.
Yapılandırılmış finansman alanlarını hedefleyerek, bu yöntem Python Crunchbase veri çekme aracınızın trend ve büyüme analizi için doğru girişim yatırım verilerini toplamasına olanak tanır.
Adım 10: Büyüme ve ısı skorlarını çıkarın
Crunchbase'in mevcut dokümantasyonu, bu sinyalleri büyüme öngörüleri, fonlama tahminleri ve diğer ileriye dönük göstergeleri içerebilen daha geniş bir tahmin katmanının parçası olarak konumlandırıyor. Bu, sayfa metnini kazımanın artık lisanslı Crunchbase iş akışları aracılığıyla elde edilebilen tam bağlamı yakalayamayacağı anlamına geliyor.
Şirket ivmesini ölçmek için büyüme ve ısı puanlarını çıkarıyoruz. Crunchbase bu değerler için her zaman tutarlı bir HTML yapısı sağlamadığından, Crunchbase veri çekme aracı bunları doğrudan metinden tespit etmek için düzenli ifadeler kullanır.
Lisanslı erişiminiz varsa, resmi Crunchbase ürün arayüzleri veya API paketleri, HTML ayrıştırmasına kıyasla bu sinyaller için daha istikrarlı bir kaynak olabilir.
Adım 11: Sonuçları derleyin ve çıktıyı kaydedin
Son olarak, isim, açıklama, finansman, büyüklük ve puanlar dahil olmak üzere tüm Crunchbase şirket verilerini bir sözlük halinde yapılandırıyoruz, istekler arasına küçük bir gecikme ekliyoruz (güvenli veri çekme için) ve çıktıyı crunchbase_data.json olarak kaydediyoruz.
Bu , Crunchbase veri çıkarma işlem hattınızın analiz, gösterge panoları veya veri işlem hatlarına entegrasyon için hazır, temiz ve yapılandırılmış sonuçlar üretmesini sağlar.
Örnek çıktı
Bu çıktı, Python Crunchbase veri çekme aracının verileri nasıl yapılandırdığını ve dışa aktardığını göstermektedir.
Her bir kayıt, şirketin adını , açıklamasını , finansmanını , konumunu , çalışan sayısını ve performans puanlarını içerir ve tüm bunlar, analiz araçlarına veya veritabanlarına kolay entegrasyon için JSON formatında düzenlenmiştir.
Crunchbase'ten veri çekmenin zor olmasının nedenleri
Crunchbase için işe yarayan güvenilir bir yaklaşım bulmadan önce birçok yöntem denedik. Geleneksel yöntemlerin her biri, Cloudflare'ün gelişmiş bot karşıtı sistemi nedeniyle başarısız oldu. Crunchbase'in koruması basit IP kontrollerine dayanmıyor. Cloudflare, onlarca göstergeyi analiz ederek derinlemesine tarayıcı parmak izi alma işlemi gerçekleştiriyor:
- TLS el sıkışma kalıpları
- JavaScript yürütme davranışı
- Tarayıcı API'sinin eksiksizliği
- Canvas ve WebGL parmak izleri
- Fare hareketinin zamanlaması ve pencere odağı
Proxy kullansanız bile, Cloudflare yine de istemci parmak izinizi tespit edebilir. Normal veri kazıma proxy'leri yalnızca IP adresinizi gizler; gerçek tarayıcı davranışını taklit etmezler.
Basit HTTP istekleri çalışmadı.
Python'ın requests kütüphanesini kullanarak Crunchbase URL'lerine doğrudan GET istekleri göndermeye başladık. Her deneme 403 Forbidden hatasıyla sonuçlandı. Crunchbase sunucuları bot imzasını hemen tespit etti ve herhangi bir içerik sunmayı reddetti.
Tarayıcı başlıklarını ekleme işlemi hala başarısız oldu.
Ardından, meşru tarayıcı davranışını taklit etmek için User-Agent dizeleri, Accept başlıkları ve diğer tarayıcı benzeri meta verileri eklemeyi denedik. Birden fazla profil ve kombinasyon denedik, ancak her istek engellendi. Cloudflare'ün sistemi hepsini anında yakaladı.
Chrome ile Selenium Cloudflare'te takılı kaldı.
Sorunu çözmek için gerçek bir Chrome tarayıcısını otomatikleştirmeyi düşünerek Selenium'a başvurduk. Ancak bunun yerine, her seferinde Cloudflare'ün " Biraz bekleyin… " doğrulama sayfasına takıldık. Yükleme göstergesi sonsuza kadar çalıştı ve ara sıra başarılı olsak bile, programatik olarak çözülemeyen bir CAPTCHA ile karşılaştık.
Algılanmayan ChromeDriver kararsızdı.
Daha sonra Selenium'u daha insansı hale getirmek için yamalayan Undetected-ChromeDriver'ı test ettik. Kısa bir süre çalışsa da, tarayıcı uyumluluk sorunları ve aralıklı Cloudflare sorunlarıyla karşılaştık. Bazı sayfalar başarıyla yüklendi, ancak sonraki sayfalar belirgin bir düzen olmaksızın engellendi; bu da üretim kullanımı için çok güvenilmezdi.
Çalışan çözüm: Web kilit açıcılar
Birkaç yöntemi test ettikten sonra, tutarlı ve ölçeklenebilir Crunchbase veri kazıma için tek güvenilir çözümün bu olduğunu bulduk . Web Unlockers, bulutta gerçek tarayıcılar çalıştırarak, tam parmak izi alma, JavaScript yürütme ve CAPTCHA çözme işlemlerini gerçekleştirerek bu sorunu çözüyor. Şunları yapıyorlar:
- Konut IP adreslerini otomatik olarak döndürün .
- Tarayıcı parmak izlerini rastgele hale getir
- Tarayıcıda tam görüntüleme işlemini gerçekleştirin (JavaScript, çerezler, dinamik içerik)
- CAPTCHA ve Cloudflare zorluklarını gerçek zamanlı olarak çözün.
Yalnızca ağ konumunuzu değiştiren proxy'lerin aksine, web kilidi açıcılar gerçek bir insan kullanıcının davranışını taklit eder; Cloudflare'ün beklediği de budur.
Crunchbase veri kazıma kıyaslama metodolojisi
Crunchbase şirket sayfası kazıma işleminin performansını, tutarlı koşullar altında istek başarısı, yanıt süresi ve güvenilirlik ölçütlerini kullanarak değerlendirin.
- Hedef URL'ler: 100 Crunchbase şirket sayfası (crunchbase.com/organization…)
- İstek aralığı: her 15 dakikada bir
- Zaman aşımı sınırı: 60 saniye
- Değerlendirme sıklığı: günlük
Her istek aynı yapılandırmayı kullanır, bu da çalıştırmalar arasında doğrudan karşılaştırma yapılmasına olanak tanır.
Başarı kriterleri :
Bir istek aşağıdaki durumlarda başarılı sayılır:
- HTTP durum kodu 200 ile 399 arasındadır ve
- Yanıt, önceden tanımlanmış CSS seçicileri veya içerik baytı kontrolleri tarafından tespit edilen geçerli Crunchbase şirket verilerini içerir.
Boş veya hatalı yanıtlar başarısız olarak işaretlenir.
Hata sınıflandırması :
- Zaman aşımı: >60 saniye, başarısız olarak işaretlendi
- Ağ hataları: ayrıntılarıyla birlikte kaydedildi.
- Kod çözme hataları: ayrıştırma hatası
- Boş veya hatalı yanıtlar: eksik içerik
Günlük veri toplama :
Gün sonunda, sonuçlar toplanarak nihai sonuç hesaplanır. Bu ölçümler, Crunchbase veri çekme işleminin güvenilirliğini ve performansını ölçer.
- Günlük başarı oranı
- Ortalama yanıt süresi
- Hata dağılımı
SSS'ler
Crunchbase sayfalarından herkese açık verileri kazımak, sorumlu bir şekilde ve kişisel veya araştırma amaçlı yapıldığı takdirde genellikle yasaldır. Bununla birlikte, otomatik veri kazıma, özellikle büyük ölçekli veya ticari kullanım için Crunchbase'in Hizmet Şartlarını ihlal edebilir. Herhangi bir veri kazıma projesine başlamadan önce resmi API'lerini kontrol edin. 1
Şirket adı, gelir aralığı, şirket profili, organizasyon türü, şirket türü ve iletişim e-postası gibi kamuya açık şirket verilerini çıkarabilirsiniz. Kişisel e-postalar veya LinkedIn bağlantıları gibi kişisel veya özel bilgileri toplamaktan kaçının.
Crunchbase API'sini şu durumlarda kullanabilirsiniz:
* Büyük ölçekte veri toplamanız gerekiyor.
* Sık sık (günlük veya saatlik) güncellemelere ihtiyacınız var.
* Crunchbase verilerini ticari olarak entegre etmeyi veya elde edilen verileri yeniden satmayı planlıyorsunuz.
Rekabet analizi, girişim araştırması, satış potansiyeli oluşturma veya iş zekası için yapılandırılmış şirket verileri şarttır. Crunchbase veri çekme aracı kullanmak, büyük veri hacimlerinin toplanmasını ve işlenmesini otomatikleştirmeye yardımcı olabilir.
Evet, Crunchbase API'si şirket, finansman ve kişi verilerine yapılandırılmış erişim sağlar. Ancak önemli sınırlamaları da vardır:
* Daha yüksek hacimli veya tam veri erişimi için ücretli veri lisansı veya abonelik gereklidir.
* Dakika veya gün başına istek sayısı, kullandığınız plana bağlı olarak sınırlıdır.
* Büyüme puanı veya ısı puanı gibi veri alanları ücretsiz planda mevcut olmayabilir.
Yorum yapan ilk kişi olun
E-posta adresiniz yayınlanmayacak. Tüm alanlar gereklidir.