Semalt: Python ile Web Kazıma

Wi-Fi'niz olmadığında bu korkunç anlardan birini geçirdiniz mi? Eğer öyleyse, bilgisayarınızda ne yaptığınızın ne kadarının ağa bağlı olduğunu fark ettiniz. Tamamen alışkanlık dışında, e-postalarınızı kontrol ederken, arkadaşınızın Instagram fotoğraflarını görüntülerken ve tweetlerini okurken bulacaksınız.

Çok fazla bilgisayar çalışması web süreçlerini içerdiğinden, programlarınızın çevrimiçi olabilmesi de çok uygun olacaktır. Bu web kazıma için geçerlidir . Web'den içerik indirmek ve işlemek için bir program kullanmayı içerir. Örneğin, Google, web sayfalarını arama motorları için dizine eklemek için çeşitli kazıma programları kullanır.

İnternetten veri kazımanın birçok yolu vardır. Bu yöntemlerin çoğu, Python ve R gibi çeşitli programlama dillerinin komutunu gerektirir. Örneğin, Python ile İstekler, Güzel çorba, Webbrowser ve Selenyum gibi bir dizi modülden faydalanabilirsiniz.

'Talepler' modülü, bağlantı sorunları, ağ hataları ve veri sıkıştırma gibi zor konular hakkında endişelenmenize gerek kalmadan dosyaları web'den kolayca indirmenize olanak tanır. Mutlaka Python ile gelmez, bu yüzden önce yüklemeniz gerekir.

Modül geliştirildi, çünkü Python'un 'urllib2' modülünün kullanımı zorlaştıran birçok komplikasyonu var. Aslında kurulumu oldukça kolaydır. Tek yapmanız gereken komut satırından pip install isteklerini çalıştırmak. Ardından, modülün doğru şekilde takıldığından emin olmak için basit bir test yapmanız gerekir. Bunu yapmak için etkileşimli kabuğa '>>> içe aktarma istekleri' yazabilirsiniz. Hiçbir hata mesajı görünmüyorsa yükleme başarılı olmuştur.

Bir sayfayı indirmek için 'requests.get ()' işlevini başlatmanız gerekir. İşlev, indirilecek bir URL dizesi alır ve ardından bir 'yanıt' nesnesi döndürür. Bu, web sunucusunun isteğiniz için döndürdüğü yanıtı içerir. İsteğiniz başarılı olursa, indirilen web sayfası yanıt nesneleri metin değişkenine bir dize olarak kaydedilir.

Yanıt nesnesinin genellikle karşıdan yüklemenizin başarılı olup olmadığını öğrenmek için kullanabileceğiniz bir durum kodu özniteliği vardır. Benzer şekilde, bir yanıt nesnesindeki 'elev_for_status ()' yöntemini çağırabilirsiniz. Dosya indirilirken bir hata oluşursa bu bir istisna oluşturur. Kötü bir indirme durumunda bir programın durmasını sağlamak için harika bir yoldur.

Buradan, indirilen web dosyanızı 'open ()' ve 'write ()' standart işlevlerini kullanarak sabit diskinize kaydedebilirsiniz. Ancak, metnin Unicode kodlamasını korumak için metin verilerini ikili verilerle değiştirmeniz gerekir.

Verileri bir dosyaya yazmak için, 'iter_content ()' yöntemiyle bir 'for' döngüsü kullanabilirsiniz. Bu yöntem, döngü boyunca her yinelemedeki veri yığınlarını döndürür. Her bir yığın bayt cinsindendir ve her bir yığının kaç bayt içereceğini belirtmeniz gerekir. Yazmayı bitirdiğinizde, dosyayı kapatmak için 'close ()' öğesini çağırın, işiniz şimdi sona erdi.