Python (Beautiful Soup Kütüphanesi) ile İnternetten Veri Çekme

Nisa Derinoğlu
Kodluyoruz
Published in
3 min readMay 17, 2020

Herkese merhaba,

Bugün sizlere internetten nasıl veri çektiğimden bahsedeceğim. Kullanıcı şikayetlerini çekeceğimiz site https://www.sikayetvar.com/

BeautifulSoup, HTML veya XML dosyalarını işlemek için oluşturulmuş güçlü ve hızlı bir kütüphanedir. Bu modül ile bir kaynak içerisindeki HTML kodlarını ayrıştırıp sadece istediğimiz alanları kesen programlar, daha popüler adıyla BOT yazabilirsiniz.

Öncelikle requests ve beautiful soup kütüphanesini import ediyoruz.

Sonra veri çekeceğimiz sitenin adresini tanımlıyoruz.Kullanıcı bir başlık girdiğinde yazılan yorumları görüp tekrar yeni bir başlık arayabilsin diye sürekli bir döngü kurmak istedim. Bunu while true ile oluşturdum. Eğer kullanıcı başka bir yorum çıkmak isterse false döndürebilirim.

İlk olarak kullanıcıdan başlık almak için input oluşturdum. Ardından r isimli bir değişken oluşturdum ve request kütüphanesinden get fonksiyonunu alıp sikayet var sitesine bağlandık.

Örneğin: Burger king için yapılan şikayetleri görmek istediğimizde;

Sayfanın kaynak kodlarına ulaştım, ihtiyacım olan bir şeyi parse etmek istiyorum.

Burada almak istediğim yer; <div class=’brandsearch-cards clearfix’> içerisindeki <article> tag’ına ait olan yazı.

BeautifulSoup findAll() adında bir fonksiyona sahip. Önce bir BeautifulSoup classın dan bir nesne oluşturuyoruz.

Burada yaptığımız şey findAll fonksiyonuna kaynak kodları içerisinde nereyi parse edeceğini ve bulduğu her şeyi başlıklar listesine kaydetmesini söylemek. İçerisinde html tagleri olan aradığım yazılarla birlikte bana bir liste döndürdü.

Kullanıcı Adı ↑
Tarih ↑

Şimdi ihtiyacım olan şey ‘text’i almak. BeautifulSoup ile çok kolay. Yapmamız gereken:

Listedeki her bir elemanın text değerini yazdırıyoruz veeee sonuç :)

Buraya Kadar okuduysanız teşekkür ederim. Sağlıklı Günler :)

Nisa Derinoğlu

--

--