yardım etmek mi istiyorsunuz? İşte seçenekleriniz:","Crunchbase","Hakkımızda","Muhteşem destek için herkese teşekkürler!","Hızlı Bağlantılar","Ortaklık programı","ProxyScrape premium deneme","Çevrimiçi Proxy Denetleyicisi","Proxy türleri","Vekil ülkeler","Proxy usecases","Önemli","Çerez politikası","Sorumluluk Reddi","Gizlilik Politikası","Şartlar ve koşullar","Sosyal Medya","Facebook","LinkedIn","Twitter","Quora","Telgraf","Discord"," © Telif Hakkı 2024 - Thib BV | Brugstraat 18 | 2812 Mechelen | Belçika | KDV BE 0749 716 760"]}
Bu makalede, farklı gazetelerden en son haber makalelerini kazımak ve bunları metin olarak saklamak için bir web kazıyıcı oluşturacağız. Tüm sürecin nasıl yapıldığına dair derinlemesine bir analize sahip olmak için aşağıdaki iki adımdan geçeceğiz.
Python kullanarak haber makaleleri için web kazıma işleminin nasıl yapılacağı hakkında daha fazla bilgi edinmek için herhangi bir bölüme atlamaktan çekinmeyin
Herhangi bir web sitesinden veya web sayfasından önemli bilgileri çekmek istiyorsak, o web sitesinin nasıl çalıştığını bilmek önemlidir. Herhangi bir web tarayıcısı (Chrome, Firefox, Mozilla, vb.) kullanarak belirli bir URL'ye gittiğimizde, o web sayfası üç teknolojinin birleşiminden oluşur,
Bu üç programlama dili, bir web sayfasının özelliklerini oluşturmamıza ve değiştirmemize olanak tanır.
Bu makale için bir web sayfasının ve HTML'nin temellerini bildiğinizi varsayıyorum. Divler, etiketler, başlıklar gibi bazı HTML kavramları bu web kazıyıcıyı oluştururken çok faydalı olabilir. Her şeyi bilmenize gerek yok, sadece web sayfası tasarımının temellerini ve bilgilerin nasıl içerildiğini bilmeniz yeterli.
Python, bir web sayfasından bilgi kazımamıza izin veren çeşitli paketlere sahiptir. BeautifulSoup ile devam edeceğiz çünkü web kazıma için en ünlü ve kullanımı kolay Python kütüphanelerinden biridir.
BeautifulSoup, bir URL'nin HTML içeriğini ayrıştırmak ve ona etiketler ve etiketlerle erişmek için en iyisidir. Bu nedenle web sitesinden belirli metin parçalarını çıkarmak uygun olacaktır.
Sadece 3-5 satır kod ile sihir yapabilir ve internetten seçtiğimiz web sitesinin her türlü metnini çıkarabiliriz, bu da kullanımı kolay ancak güçlü bir paket olduğunu gösterir.
En temelden başlıyoruz. Kütüphane paketini kurmak için Python dağıtımınıza aşağıdaki komutu yazın,
BeautifulSoup'a herhangi bir sayfanın HTML kodunu sağladığı için 'requests modülünü' de kullanacağız. Kurmak için Python dağıtımınıza aşağıdaki komutu yazın,
Bu istekler modülü, web sayfasından HTML kodunu almamızı ve BeautfulSoup paketini kullanarak gezinmemizi sağlayacaktır. İşimizi çok daha kolaylaştıracak iki komut şunlardır
find_all(element tag, attribute): Bu fonksiyon etiket ve nitelikleri parametre olarak alır ve bir web sayfasındaki herhangi bir HTML öğesini bulmamızı sağlar. Aynı tipteki tüm elemanları tanımlayacaktır. Bunun yerine sadece ilkini almak için find() fonksiyonunu kullanabiliriz.
get_text(): Belirli bir öğeyi bulduktan sonra, bu komut içerideki metni çıkarmamızı sağlar.
Web sayfamızın HTML kodunda gezinmek ve kazımak istediğimiz öğeleri bulmak için, sayfaya sağ tıklayarak veya sadece Ctrl+F tuşlarına basarak 'öğeyi incele' seçeneğini kullanabiliriz. Bu, web sayfasının kaynak kodunu görmenizi sağlayacaktır.
İlgilendiğimiz öğeleri bulduktan sonra, HTML kodunu requests modülü ile alacağız ve bu öğeleri ayıklamak için BeautifulSoup'u kullanacağız.
Haber makalelerinin HTML kodunu incelersek, ön sayfadaki makalenin aşağıdaki gibi bir yapıya sahip olduğunu görürüz,
The title has <h2> element with itemprop=”headline” and class=”articulo-titulo” attributes. It has an href attribute containing the text. So we will now extract the text using the following commands:
requests modülünü kullanarak HTML içeriğini aldıktan sonra, bunu coverpage değişkenine kaydedebiliriz:
Daha sonra, çorba değişkenini tanımlayacağız,
Aşağıdaki kod satırında, aradığımız öğeleri bulacağız,
final_all kullanarak, tüm oluşumları alıyoruz. Bu nedenle, her bir öğenin bir haber makalesi olduğu bir liste döndürmelidir,
Metni çıkarabilmek için aşağıdaki komutu kullanacağız:
Bir niteliğin (bizim durumumuzda bağlantı) değerine erişmek istiyorsak, aşağıdaki komutu kullanabiliriz,
Bu, bağlantıyı düz metin olarak almamızı sağlayacaktır.
Bu noktaya kadar tüm kavramları kavradıysanız, kendi seçtiğiniz herhangi bir içeriği web kazıyabilirsiniz.
Bir sonraki adım, haber makalesinin her bir içeriğine href niteliği ile erişmeyi, HTML kodundaki paragrafları bulmak için kaynak kodunu almayı ve son olarak bunları BeautifulSoup ile almayı içerir. Bu yukarıda anlattığımız işlemle aynıdır, ancak haber makalesi içeriğini tanımlayan etiketleri ve nitelikleri tanımlamamız gerekir.
Tam işlevsellik için kod aşağıda verilmiştir. Kod yorumlandığı için her satırı ayrı ayrı açıklamayacağım; kişi bu yorumları okuyarak açıkça anlayabilir.
Çıkarılan makaleleri aşağıdakilere yerleştirelim:
Daha iyi bir kullanıcı deneyimi tanımlamak için, bir betiğin haberleri almak için harcadığı süreyi de ölçeceğiz. Bunun için bir fonksiyon tanımlayacağız ve sonra çağıracağız. Yine, kod yorumlandığı için her kod satırını açıklamayacağım. Net bir anlayış elde etmek için bu yorumları okuyabilirsiniz.
Özel bir veri merkezi proxy'si, sınırsız bant genişliği ve eşzamanlı bağlantılar, kolay iletişim için özel HTTP proxy'leri ve daha fazla güvenlik için IP kimlik doğrulaması gibi çeşitli özelliklere sahiptir. 99,9 çalışma süresi ile, özel veri merkezinin herhangi bir oturum sırasında her zaman çalışacağından emin olabilirsiniz. Son olarak, ProxyScrape mükemmel müşteri hizmetleri sunar ve sorununuzu 24-48 iş saati içinde çözmenize yardımcı olur.
ProxyScrape'un konut proxy'sinin diğer bir özelliği de dönen bir özelliktir. Dönen proxy, hesabınızın kalıcı olarak yasaklanmasını önlemenize yardımcı olur çünkü konut proxy'niz IP adresinizi dinamik olarak değiştirerek hedef sunucunun proxy kullanıp kullanmadığınızı kontrol etmesini zorlaştırır.
Bunun dışında, bir konut proxy'sinin diğer özellikleri şunlardır: eşzamanlı bağlantıyla birlikte sınırsız bant genişliği, özel HTTP / s proxy'leri, proxy havuzundaki 7 milyondan fazla proxy nedeniyle herhangi bir zaman oturumunda proxy'ler, daha fazla güvenlik için kullanıcı adı ve şifre kimlik doğrulaması ve son olarak, ülke sunucusunu değiştirme yeteneği. Ülke kodunu kullanıcı adı kimlik doğrulamasına ekleyerek istediğiniz sunucuyu seçebilirsiniz.
Daha sonra, en iyi şey proxy sunucusunu ülkeye göre değiştirmek olacaktır. IP kimlik doğrulamasının veya kullanıcı adı ve parola kimlik doğrulamasının sonuna ülke ISO_CODE'unu eklemeniz yeterlidir.
Bu makalede, web sayfası akış tasarımı ve yapısının temellerini anlayarak web kazımanın temellerini gördük. Ayrıca haber makalelerinden veri çekerek uygulamalı deneyim yaptık. Web kazıma, doğru şekilde yapılırsa harikalar yaratabilir. Örneğin, çıkarılan verilere dayanarak kategorileri tahmin edebilen ve kullanıcıya özetler gösterebilen tamamen optimize edilmiş bir model oluşturulabilir. Yapılması gereken en önemli şey, gereksinimlerinizi belirlemek ve sayfa yapısını anlamaktır. Python, seçtiğiniz verileri ayıklamak için çok güçlü ancak kullanımı kolay bazı kütüphanelere sahiptir. Bu, web kazımayı çok kolay ve eğlenceli hale getirdi.
Bu kodun söz konusu web sayfasından veri çekmek için kullanışlı olduğuna dikkat etmek önemlidir. Bunu başka bir sayfadan yapmak istiyorsak, kodumuzu o sayfanın yapısına göre optimize etmemiz gerekir. Ancak bunları nasıl tanımlayacağımızı öğrendikten sonra, süreç tamamen aynıdır.