Verilerin yeni petrol olduğunu söylemek biraz klişe . Onu rüzgar gibi yenilenebilir bir kaynak olarak düşünmeyi daha çok seviyorum. Metaforunuz olarak hangi enerji kaynağını seçerseniz seçin, gücünün bir kısmını kullanmak istersiniz! ⚡️
İdeal olarak, kontrol ettiğiniz bir dosyada veya veritabanında olmasını istediğiniz verilere doğrudan erişiminiz vardır. Durum böyle olmadığında, şanslıysanız, veriler halka açık bir API aracılığıyla erişilebilir olacaktır. ☘️
Bu makalede, verileri Python kullanarak herkese açık bir API'den alma adımlarını göstereceğim. 🐍 Önce size bir Python API sarmalayıcısını nasıl ve nerede arayacağınızı göstereceğim ve en büyük Python API sarmalayıcı deposunu paylaşacağım. 🎉
Ardından , Python sarmalayıcısı olmayan bir API'den istediğiniz verileri almak için istek kitaplığını nasıl kullanacağınızı göstereceğim .
İstediğiniz veriler bir web sitesindeyse, ancak herkese açık bir API aracılığıyla kullanılamıyorsa, bunları kopyalamak için birkaç seçenek vardır. Hangi kazıma paketini ne zaman kullanmalıyım işlerde sahip olduğum bambaşka bir makale. Kaçırmadığınızdan emin olmak için beni takip edin ! 😁
Hadi detaya inelim!
Dışa dönük bir Uygulama Programlama Arayüzü (API), genellikle verileri büyük parçalar halinde sağlamak üzere tasarlanmıştır. Sadece API ile nasıl çalışılacağını bilmeniz gerekiyor.
Bir kuruluş, onu kullanmak niyetiyle halka açık bir API oluşturur. Motivasyonları idealistten paralı askerlere kadar değişir ve aşağıdakileri içerebilir:
İhtiyacınız olan API için Python sarmalayıcıları bulmak zor olabilir. İşte benim önerdiğim yaklaşım.
GitHub'da en geniş Python API sarmalayıcı listesi olduğuna inandığım şeyi sürdürüyorum . Real Python , johnwmiller tarafından çatallanan ve güncellenen güzel bir liste yaptı . Listeyi biraz temizledim ve ardından, koronavirüs karantinasının çocuklarımın futbol hakemliği ⚽️ ve kedi oturuşundan para kazanma yeteneğini sona erdirdiği göz önüne alındığında, listeyi iyileştirmeleri için onlara ödeme yaptım. Bu eski listeyi güncelledik ve genişlettik çünkü başka bir yerde çalışan API sarmalayıcıların iyi bir listesini bulamadım. 😀
Listede olmayan bir Python API sarmalayıcısı bulursanız, lütfen BeniOku dosyasını düzenleyin ve bir çekme isteği gönderin. Burada yeniyseniz, GUI'de GitHub Markdown dosyalarını düzenlemeye yönelik hızlı bir kılavuz:
Sağ köşedeki kalem simgesini tıklayın ve gerekli değişiklikleri yapın ( ihtiyacınız olursa burada güzel bir Markdown eğiticisi var). Ardından , sayfanın altındaki yeşil Dosya değişikliği öner düğmesini tıklayın. Ardından yeşil çekme isteği oluştur düğmesine tıklayın, değişiklikleri özetleyin ve alttaki yeşil çekme isteği oluştur düğmesine tıklayın. Teşekkür ederim! 🎉
Bilginize, Data Awesome posta listemde sık sık Python paketlerini vurgularım . Bir sonraki taksit olarak ben vurgulayarak olacağım yfinance tarafından Ran Aroussi . yfinance, Yahoo Finance API'yi tamamlar. Bunu, hisse senedi piyasası verilerini tek bir kod satırı ile bir Pandalar DataFrame'e okumak için kullanabilirsiniz. 🚀
Python API sarmalayıcı listesinde ihtiyacınız olan şey yoksa, internette bir şeyler bulmak için normal yöntemi kullanmanızı öneririm. 🕸
İyi bir arama motoru, bir geliştiricinin veya veri bilimcinin en iyi arkadaşıdır 😁
Özellikle, Python sarmalayıcısı the_name_of_the_api_I'm_ looking_for'u arardım. GitHub bağlantıları muhtemelen en verimli olanlardır. Son birkaç yılda bir depo güncellenmediyse veya arşivlendiyse, paketleyiciyi başarılı bir şekilde kullanma olasılığınız yüksek değildir. Bu durumda, aramaya devam etmenizi öneririm. 👓
Şanslıysanız, kullandığınız API'nin web sitesi çeşitli programlama dillerinde mevcut olan sarmalayıcıları listeleyebilir. Denemeye deger. 😃
Bir API sarmalayıcı olmadığında, API'yi doğrudan sorgulamanız gerekir. Python istek kitaplığını kullanmanızı öneririm .
Saygıdeğer istekler kitaplığı, bir API'den bilgi almanın savaşta test edilmiş yoludur. İstekler Kenneth Reitz tarafından oluşturulmuştur ve Python Yazılım Vakfı tarafından korunmaktadır. Bu yazı itibariyle en çok indirilen Python paketi. 👍
Komut satırından ortamınıza istekleri yükleyin.
pip install requests
Sonra içeri aktarın ve kullanın. HTTP fiilleri kullanın olsun ve yazıyı arzu bilginin görünmesi yöntemler olarak. Çoğunlukla get kullanırsınız . GitHub API'sini şu şekilde sorgulayabilirsiniz:
import requests r = requests.get('https://api.github.com/events')
Bir alma isteğinde bulunduğunuzda genellikle JSON'u geri alırsınız . JSON'u hızlı bir şekilde sözlüğe dönüştürmek için istek .json () yöntemini kullanabilirsiniz.
my_dict = r.json()
Bundan bahsetmişken, en sevdiğiniz API bir Python sarmalayıcısına sahip değilse, bir tane oluşturmayı düşünmenizi tavsiye ederim. 👍
Bir API sarmalayıcı yapmak, Python paketleme becerilerini öğrenmenin harika bir yoludur. İşte size bir Python paketi oluşturmaya ve onu PyPi'de yayınlamaya başlamanız için yazdığım bir kılavuz .
Oluşturduğum Pybraries için bir Python sarıcı Libraries.io API. Bunu yapmak harika bir öğrenme deneyimiydi ve yararlandığım açık kaynak topluluğuna geri vermek harikaydı. 🚀
API anahtarları, hız sınırları ve cURL, aşina olmanız gereken diğer üç terimdir.
API'yi sorgulamak için genellikle bir API anahtarına ihtiyacınız olacaktır. API belgeleri, bir anahtarı nasıl temin edebileceğinizi açıkça belirtmelidir. Çoğu zaman, verilerini istediğiniz kuruluşun web sitesine kaydolarak ücretsiz bir tane edinebilirsiniz. Çok fazla veri istiyorsanız veya sık sık istiyorsanız, ayrıcalık için ödeme yapmanız gerekebilir.
API anahtarınızı bir ortam değişkeninde saklayabilirsiniz. Mac, Linux ve Windows'ta ortam değişkenlerini ayarlamak için bir kılavuz . Ortam değişkeni adları, kurallara göre TÜM BÜYÜK HARF şeklindedir. Tüm büyük harflerden bahsetmişken:
⚠️ HERHANGİ BİR KOŞUL ALTINDA, GITHUB'DA BİR API ANAHTARINI VEYA HERHANGİ BİR BAŞKA ÇEVRİMİÇİ ÇEVRİMİÇİ SÜRÜM KONTROL SİSTEMİNDE SAKLAMAYIN. ⚠️
Anahtarınız çalınabilir ve kötüye kullanılabilir - özellikle hesabınıza bir kredi kartı takılıysa. ☹️
API anahtarınızı Python'da tutan ortam değişkenine erişmek için
osmodülü içe aktarın ve değeri sözlükten ortam değişkeninizin adıyla eşleşen anahtarla alın. Örneğin:
import os os.environ.get('MYENVIRONMENTVARIABLE')
Anahtarınızı bulut üzerindeki uygulamalarda kullanacaksanız, burada tartışıldığı gibi gizli anahtar yönetimine bakmalısınız .
Beladan uzak durmaktan bahsetmişken, hadi oran sınırlarını tartışalım.
Birçok API, çok sayıda ekstra sunucu için ödeme yapma gereğini ortadan kaldırmak için belirli bir süre içinde onlara kaç kez ping atabileceğinizi sınırlar. Bu sınırların aşılmasını önlemek için Python zaman kitaplığını kullanabilir ve isteğinizi bir döngüye koyabilirsiniz. Örneğin, istekler arasında beş saniye bekleyen kısa bir kod parçacığı.
import time import requests t = 0 my_url = 'https://example.com' while t < 100: r = requests.get(my_url) time.sleep(5) # wait five seconds t += 1 print(r.json())
Bu, API'lerle Python'u kullanmak için bir kılavuzdur, ancak popüler cURL programı ile komut satırından bir API sorgulayabileceğinizi bilmelisiniz . cURL, en son Windows 10 sürümlerini çalıştıran Mac'lerde ve makinelerde varsayılan olarak bulunur. CURL öğrenmek istiyorsanız , Mark Bates'in yazdığı Conquering the Command Line adlı ücretsiz e- kitabına göz atmanızı öneririm . 🚀
Bir API'den veri almak istiyorsanız, önce bir Python sarmalayıcısı bulmaya çalışın. Python sarmalayıcıların listesine buradan göz atın . Başarısız olursa Google araması yapın ve API web sitesine bakın. GitHub'daki listemde eksik bir Python sarmalayıcı bulursanız, lütfen ekleyin. 😀
Bir API için Python sarmalayıcısı yoksa istek kitaplığını kullanın. Zamanınız varsa, tüm Python kullanıcılarının yararlanabilmesi için bir sarmalayıcı oluşturmayı düşünün. ❤️
API anahtarlarınızı güvende tutmayı ve hız sınırlarına ulaşmamayı unutmayın. 🔑
Python ile API'leri bulmak ve kullanmak için bir iş akışı öğrendiniz. Harika şeyler yapmak için ihtiyacınız olan verileri elde etme yolundasınız! 🚀
Umarım API'leri Python ile kullanmak için bu kılavuzu faydalı bulmuşsunuzdur. Yaptıysanız, lütfen en sevdiğiniz sosyal medyada paylaşın, böylece diğer insanlar da bulabilir. 👍
Python , SQL , Docker , veri bilimi ve diğer teknoloji konuları hakkında yazıyorum . İlginizi çeken herhangi biri varsa, beni takip edin ve buradan daha fazlasını okuyun . 😀
Bilinç nedir? Yüzyıllardır filozofların ve bilim adamlarının kafasını karıştıran bir sorudur. Bazıları bunun bedenlerimizden bağımsız olarak gerçekten anlayamadığımız geçici bir şey olduğunu söylüyor.
Yıllık ortalama 154 bin dolar maaş ve istikrarlı iş büyümesi ile şimdi blok zinciri geliştirmeyi öğrenmek için ideal zaman. Blok zinciri teknolojilerini oluşturmak ve geliştirmek için blok zinciri geliştiricileri, bilgisayar ağı, kriptografi, algoritmalar ve veri yapıları dahil olmak üzere çeşitli beceriler kullanır.
Kasım 2020'nin başlarında SalesForce, açıklanamayacak şekilde JARM adlı yeni bir aktif TLS parmak izi alma aracını duyurdu. JARM'ın temeli, bir hedef sunucu özel olarak hazırlanmış çeşitli farklı TCP "İstemci merhaba" paketleri kullanılarak tarandığında, elde edilen yanıtların birleştirilip, paylaşılan veya benzer bir uygulama veya sunucunun göstergesi olan bir parmak izi sağlamak için karma hale getirilebilmesidir. yığını.
Harika geliştiriciler yapan teknik olmayan şeyler Bir süredir bu makaleyi yazmayı erteliyorum - yazmak için hiç nitelikli hissetmedim. Bugün onu yazma zamanının geldiğini düşündüm.
Teknoloji endüstrisindeki bir pozisyon için mülakat yaparken, herhangi bir teklif değerlendirilmeden önce genellikle en az üç tur mülakattan geçeceksiniz. Mermiler genellikle şuna benzer: Eğer öyle düşünüyorsan, yanılıyorsun.
Pragmatik Programcı ilk olarak 1999'da yayınlandı ve o zamandan beri tüm zamanların en iyi programlama kitabı seçildi. Yazarlar Andy Hunt ve David Thomas, Agile Manifesto'nun orijinal yazarları arasındaydı ve bazı ciddi referanslara sahipler.