Kendinizi sık sık web sitelerinden veri alırken buluyorsanız, muhtemelen süreci otomatikleştirmeyi düşünmelisiniz. Bazen “web kazıma” olarak adlandırılan süreç, resmi bir API veya besleme sağlamayan siteler için yaygın bir işlemdir. Elbette, getirmeye çalıştığınız site kullanılamıyorsa hiçbir yere varamazsınız.

Python'da Web Sitesi Durum Denetleyicisi Oluşturmayı Öğrenin

Kendi sitenizi işletiyorsanız, muhtemelen daha önce kapalı kalma süreleriyle uğraşmak zorunda kalmışsınızdır. Sinir bozucu olabilir, ziyaretçilerinizi kaybetmenize neden olabilir ve sitenizin sorumlu olabileceği her türlü etkinliği kesintiye uğratabilir. Bu gibi durumlarda, web sitenizin kullanılabilirliğini kolayca kontrol edebilmek için ödeme yapar.

Python, komut dosyası oluşturmak için harika bir dildir ve özlü ancak okunabilir sözdizimi, bir site denetleyicisi uygulamayı basit bir görev haline getirir.

Kişiselleştirilmiş Web Sitesi Denetleyicinizi Oluşturma

Web sitesi denetleyicisi, aynı anda birden çok web sitesini barındırmak için özel olarak yapılmıştır. Bu, artık ilgilenmediğiniz siteleri kolayca kapatmanıza veya gelecekte açacağınız siteleri kontrol etmeye başlamanıza olanak tanır. Denetleyici, üzerine daha fazla geliştirme yapabileceğiniz ideal bir “iskelet uygulaması”dır, ancak web verilerini almak için temel bir yaklaşım gösterir.

Python’da Kitaplıkları İçe Aktarın

Projeyi başlatmak için , import işleviyle Python’daki request kitaplığını içe aktarmanız gerekir.

import requests

İstekler kitaplığı, web siteleriyle iletişim kurmak için kullanışlıdır. HTTP isteklerini göndermek ve yanıt verilerini almak için kullanabilirsiniz.

Web Sitesi URL’lerini Bir Listede Saklayın

Python'da Web Sitesi Durum Denetleyicisi Oluşturmayı Öğrenin

Kitaplığı içe aktardıktan sonra, web sitesi URL’lerini bir listede tanımlayıp saklamanız gerekir. Bu adım, web sitesi denetleyicisiyle kontrol edebileceğiniz birden çok URL’yi korumanıza olanak tanır.

import requestsn nwebsite_url = [n “https://www.google.co.in”, n “https://www.yahoo.com”, n “https://www.amazon.co.in”, n “https://www.pipsnacks.com/404”,n “http://the-internet.herokuapp.com/status_codes/301”,n “http://the-internet.herokuapp.com/status_codes/500″n]

website_url değişkeni , URL’lerin listesini saklar. Listenin içinde, kontrol etmek istediğiniz her URL’yi ayrı bir dize olarak tanımlayın. Test için koddaki örnek URL’leri kullanabilir veya kendi sitelerinizi hemen kontrol etmeye başlamak için bunları değiştirebilirsiniz.

Ardından, ortak HTTP yanıt kodları için mesajları saklayın . Bunları bir sözlükte tutabilir ve her mesajı karşılık gelen durum koduna göre indeksleyebilirsiniz. Programınız daha sonra daha iyi okunabilirlik için durum kodları yerine bu mesajları kullanabilir.

statuses = {n 200: “Website Available”,n 301: “Permanent Redirect”,n 302: “Temporary Redirect”,n 404: “Not Found”,n 500: “Internal Server Error”,n 503: “Service Unavailable”n}

Web Sitesi Durumunu Kontrol Etmek İçin Bir Döngü Oluşturma

Her bir URL’yi sırayla kontrol etmek için , web siteleri listesinde gezinmek isteyeceksiniz . Döngü içinde, istek kitaplığı aracılığıyla bir istek göndererek her sitenin durumunu kontrol edin.

for url in website_url:n try:n web_response = requests.get(url)n print(url, statuses[web_response.status_code])n n except:n print(url, statuses[web_response.status_code])

Neresi:

for url… URL listesi üzerinde yinelenir.

url , for döngüsünün her bir URL’yi atadığı değişkendir.

try/except , ortaya çıkabilecek istisnaları işler .

web_response , yanıtın durum kodunu içeren bir özellik sağlayan bir değişkendir

Tüm Kod Parçacığı

Kodun tamamını tek seferde incelemeyi tercih ederseniz, burada referans için tam kod listesi bulunmaktadır.

import requestsn nwebsite_url = [n “https://www.google.co.in”, n “https://www.yahoo.com”, n “https://www.amazon.co.in”, n “https://www.pipsnacks.com/404”,n “http://the-internet.herokuapp.com/status_codes/301”,n “http://the-internet.herokuapp.com/status_codes/500″n]n nstatuses = {n 200: “Website Available”,n 301: “Permanent Redirect”,n 302: “Temporary Redirect”,n 404: “Not Found”,n 500: “Internal Server Error”,n 503: “Service Unavailable”n}n nfor url in website_url:n try:n web_response = requests.get(url)n print(url, statuses[web_response.status_code])n n except:n print(url, statuses[web_response.status_code])n

Ve işte kodun bir örnek çalıştırması:

Jupyter Notebook’tan kod parçacığı

Web Scraping’de Python’un Kodlama Yetenekleri

Python’un üçüncü taraf kitaplıkları, web kazıma ve HTTP yoluyla veri alma gibi görevler için idealdir.

Çeşitli türde görevleri gerçekleştirmek için web sitelerine otomatik istekler gönderebilirsiniz. Bunlar, haber başlıklarını okumayı, resimleri indirmeyi ve otomatik olarak e-posta göndermeyi içerebilir.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir