Semalt Uzmanı: Python ve BeautifulSoup. Siteleri Kolayca Kazıyın

Veri analizi veya makine öğrenimi projeleri gerçekleştirirken, gerekli verileri almak ve projenizi tamamlamak için web sitelerini kazımanız gerekebilir. Python programlama dili, bu amaç için kullanılabilecek güçlü bir araç ve modül koleksiyonuna sahiptir. Örneğin, HTML ayrıştırma için BeautifulSoup modülünü kullanabilirsiniz.

Burada, BeautifulSoup'a bir göz atacağız ve neden web kazıma işleminde bu kadar yaygın olarak kullanıldığını öğreneceğiz.

BeautifulSoup özellikleri

- Ayrıştırma ağaçlarında kolay gezinme, arama ve değiştirme için çeşitli yöntemler sunar, böylece bir belgeyi kolayca inceleyebilir ve çok fazla kod yazmadan ihtiyacınız olan her şeyi ayıklayabilirsiniz.

- Giden belgeleri otomatik olarak UTF-8'e ve gelen belgeleri Unicode'a dönüştürür. Bu, belgenin bir kodlama belirtmesi veya Beautiful Soup'un otomatik olarak algılayabilmesi koşuluyla kodlamalar hakkında endişelenmeniz gerekmeyeceği anlamına gelir.

- BeautifulSoup, html5lib ve lxml gibi diğer popüler Python ayrıştırıcılarından daha üstün kabul edilir. Farklı ayrıştırma stratejilerini denemeye izin verir. Bununla birlikte, bu modülün bir dezavantajı, hız pahasına daha fazla esneklik sağlamasıdır.

BeautifulSoup ile web sitesini kazımak için neye ihtiyacınız var?

BeautifulSoup ile çalışmaya başlamak için, makinenizde Python programlama ortamının (yerel veya sunucu tabanlı) kurulu olması gerekir. Python genellikle OS X'te önceden yüklenmiştir, ancak Windows kullanıyorsanız, dili resmi web sitesinden indirmeniz ve yüklemeniz gerekir.

BeautifulSoup ve Requests modüllerinin kurulu olması gerekir.

Son olarak, web tabanlı verilerle çalışacağınız için HTML etiketleme ve yapısı ile tanışmak ve rahat çalışmak kesinlikle yararlıdır.

İstekleri ve BeautifulSoup kitaplıklarını içe aktarma

Python programlama ortamı iyi ayarlandığında, artık istediğiniz herhangi bir adla yeni bir dosya oluşturabilirsiniz (örneğin nano kullanarak).

İstekler kütüphanesi Python programlarınızda okunabilir bir HTTP formu kullanmanızı sağlarken BeautifulSoup kazıma işlemini daha hızlı gerçekleştirir. Her iki kütüphaneyi de almak için import deyimini kullanabilirsiniz.

Web sayfası nasıl toplanır ve ayrıştırılır

Veri ayıklamak istediğiniz web sayfasının URL'sini toplamak için requests.get () yöntemini kullanın. Ardından, bir BeautifulSoup nesnesi veya ayrıştırma ağacı oluşturun. Bu nesne, belgeyi bağımsız değişkenleri olarak İstekler'den alır ve sonra ayrıştırır. Sayfa toplandığında, ayrıştırıldığında ve bir BeautifulSoup nesnesi olarak ayarlandığında, ihtiyacınız olan verileri toplamaya devam edebilirsiniz.

Ayrıştırılmış web sayfasından istenen metni çıkarma

Web verilerini toplamak istediğinizde, bu verilerin web sayfasının Belge Nesne Modeli (DOM) tarafından nasıl tanımlandığını bilmeniz gerekir. Web tarayıcınızda, ilgilenilen verilerin bir parçasını oluşturan öğelerden birine sağ tıklayın (Windows kullanıyorsanız) veya CTRL + tıklayın (macOS kullanıyorsanız). Örneğin, öğrencilerin uyrukları hakkında veri çıkarmak istiyorsanız, öğrencinin adlarından birini tıklayın. Bir bağlam menüsü açılır ve içinde, Inspect Element (Firefox için) veya Inspect (Chrome için) gibi bir menü öğesi görürsünüz. İlgili İnceleme menü öğesini tıklayın, web geliştirici araçları tarayıcınızda görünecektir.

BeautifulSoup, web sitelerini kazıyarak çok fazla esneklik sağlayan basit ama güçlü bir HTML ayrıştırma aracıdır. Kullanırken, web sitesinin Şartlar ve Koşullarını kontrol etmek gibi genel kazıma kurallarına uymayı unutmayın; siteyi düzenli olarak yeniden ziyaret etmek ve sitede yapılan değişikliklere göre kodunuzu güncellemek. Web sitelerini Python ve BeautifulSoup ile kazıma hakkında bu bilgiye sahip olarak, artık projeniz için ihtiyacınız olan web verilerini kolayca alabilirsiniz.

mass gmail