Kayıt Ol

Giriş


Şifremi Kaybettim

Şifreni mi unuttun? Lütfen e-mail adresinizi giriniz. Bir bağlantı alacaksınız ve e-posta yoluyla yeni bir şifre oluşturacaksınız.

Giriş


Kayıt Ol

Merhaba, kayıt formu üzerinden kayıt olabilirsiniz. Fakat sosyal medya ile kayıt olmanızı önermekteyiz.

Python Kullanarak Web Siteden Veri Çekme

Python Kullanarak Web Siteden Veri Çekme

Merhabalar, interneteki türkçe kaynakları incelediğimde genelde python2x için örnekler verilmiş ve herhangi bi framework kullanılmamış. Bu durumu çözmek adına 3x version kullanıcam ve daha iyi işler çıkarabilmeniz adına bi framework üzerinden gidicem.

Kullnacağımız framework  : BeautifulSoup

Kaynakhttps://www.crummy.com/software/BeautifulSoup/bs4/doc/

BeautifulSoup Kurulumu

Kurulumu pip ile sağlıyacağız. Eğer verdiğim talimaları uyguladığınız halde halen hata aliyorsanız aşşağıdaki kaynağa bakabilirsiniz.

Kurulum kaynağı : https://www.crummy.com/software/BeautifulSoup/bs4/doc/#installing-beautiful-soup


Şimdi bir örnek yapalım! örneğimizde bir web sitedeki tüm html dökümanı çekeceğiz.

kodu denerseniz, ekrana baya çıktı atacaktır. Çünkü herhangi bi filitre işlemi kullanmadan tüm html dökümanı çekmiş olduk.

BeautifulSoup‘un sevilen özelliklerini göreceğiz şimdi ;

  • soup.(head,title,body,a) vb. işlemleri ile direk istediğimiz bölümü çekebiliriz.

Şimdi filitre işlemi yapalım. Kullnacağımız fonksiyon “find_all” bu fonksiyon sayesinde istediğimiz filitreleri yollayabiliriz.

  • Burada “a” taglarını çek ama çekerken bana 1 tane yeterli komutunu verdik.

En yukarda verdiğimiz kaynağı incelerseniz, bir çok fonksiyonlar mevcut. Hepsini tek tek incelemek yerine kapsamlı bir örnek yapalım.

Yapacağımız örnek ise, sitedeki yazı içeriğini ve başlığı çekmek olacaktır.

ÖRNEK :  Sitedeki içerik kısmını ve başlığı çekin.

İlk işlem olarak tabi, url belirledik ve okuduk.

  • ‘div’ etiketinde , sing-post-content clasına bağlı kısmı çektik. Daha sonrasına verileri liste olarak tuttuğu için icerik[0].text diyerek html kısımları kırparak text’e çevirdik.

Şimdi title kısmını çekelim.

Bu şekilde bir sitedeki içerik ve başlık kısmını çektik. Umarım faydalı olmuştur.

Hakkında Ali YamanYenilmez

Mühendis adayı, yazılım geliştirici ve haftanın hergünü yazılım ile zamanını geçiren ve kendini geliştiren pratik ve işine sahip öz verili biriyimdir. Web yazılım ve geliştirme alanında kendimi geliştirmekteyim ve hergün yeni birşey öğrenmeden günümü bitirmiyorum.

Beni Takip Et

Yorumlar ( 11 )

  1. Güzel kaynak, teşekkürler.

  2. Bilgi paylaşımınız için teşekkürler. Benim için faydalı oldu.

  3. merhaba ben yeniyim kodu nasıl çalıştırıyoruz. http://prntscr.com/fygusz

  4. Çok teşekkürler paylaşım için, çok işimize yaradı.

  5. Hocam çok teşekkür ederim verdiğiniz bilgiler için peki site üzerinde link yani id olaraksa bunu nasıl çözebiliriz. benim istediğim sırası ile id atlasın ve bu idleri txt olarak kaydetsin. örnek olması açısından

    site = “https://google.com/page?id=1” buradaki id numarasını nasıl artırırım ve nasıl kayıt ederim

  6. merhaba öncelikle bu paylaşımınız için teşekkür ederim yalnız python’a moduluı yuklerken yani
    BeautifulSoup Kurulumu yaparken “Invalid syntax” eror hatasını alıyorum bu konuda verdıgınız lınklerde kı her kodu farklı farklı yaptım fakat olmadı

  7. böyle bir hata alıyorum

  8. bazı siteler giriş yapmak gerekiyor onuda bir ara anlatırsınız inşallah tr  kaynak bulmak zor

  9. Güzel bir yazı olmuş teşekkürler ancak bunu php ile yapmak 5 dakika zaten yalnızca bir sayfaya ait veri geliyor. Bize daha üst düzey şeyler gerekli.Örnek olarak burada bir sayfanın bütün linklerini toplamak ardından bu linkleri filtrelemek daha sonrada bunları döngü ile tüm sitenin örnek veriyorum example_category ait bütün yazılarını getirmesi gerek. Bu tarz bir örneği video ya da makale olarak sunabilirseniz iyi olabilir. İyi çalışmalar.

Cevap yazın

Captcha Captcha güncellemek için resime tıkla