Python

Python Beautifulsoup Modülü İle Veri Kazıma

Herkese merhaba, Python yazılarımıza kaldığımız yerden devam ediyoruz. Bu yazımızda Python web scraping yapmayı sağlayan Beautifulsoup modülünü anlatacağım. Hadi başlayalım !

Kullanım Alanı

BeautifulSoup, Python programlama dilinde web scraping yani web sayfalarından veri kazıma işlemleri yapmak için kullanılan bir kütüphanedir. Bu kütüphane, bir web sayfasından, örneğin bir blog yazısından, bir haberden, bir ürün açıklamasından veya bir reçetedeki malzemeler listesinden istediğimiz verileri çekmemizi sağlar.

BeautifulSoup, HTML ve XML belgelerinde gezinme, ayrıştırma ve veri çıkarma için kullanılan bir Python paketidir. Bu kütüphane, web sayfalarındaki yapısal verileri çıkarmak için kullanılır. Verileri sıralamak, aramak, düzenlemek ve filtrelemek için kullanılır.

BeautifulSoup, web scraping işleminin temelindeki iki adımı gerçekleştirir: İlk adım, web sayfasını indirmek ve ikinci adım, indirilen web sayfasındaki verileri kazımaktır. Bu iki adım, BeautifulSoup kullanılarak kolayca yapılabilir.

Beautifulsoup Nesnesi Oluşturma

BeautifulSoup kütüphanesi, bir web sayfasını açmak ve sayfadaki içeriği çekmek için kullanılan urllib.request modülü veya requests kütüphanesi ile birlikte kullanılabilir. Aşağıdaki kod, requests kütüphanesi kullanarak bir web sayfasını açar ve Beautiful Soup nesnesi oluşturur:

import requests
from bs4 import BeautifulSoup

url = 'https://www.example.com'
response = requests.get(url)

soup = BeautifulSoup(response.text, 'html.parser')

Bu kodda, requests.get() fonksiyonu, URL’yi açar ve web sayfasındaki tüm verileri içeren bir yanıt nesnesi döndürür. Daha sonra, BeautifulSoup() fonksiyonu, yanıt nesnesindeki verileri analiz etmek için kullanılır ve HTML belgesindeki verileri parse eder.

find_all() Metodu

BeautifulSoup, HTML veya XML belgelerinde gezinmek için bir dizi kullanışlı yöntemler sağlar. Örneğin, find_all() yöntemi, bir HTML belgesindeki belirli bir etiketi veya sınıfı aramak için kullanılabilir. Aşağıdaki kod, tüm h1 etiketlerini ve belirli bir sınıf adını içeren tüm div etiketlerini bulmak için find_all() yöntemini kullanır:

import requests
from bs4 import BeautifulSoup

url = 'https://www.example.com'
response = requests.get(url)

soup = BeautifulSoup(response.text, 'html.parser')

h1_tags = soup.find_all('h1')
div_tags = soup.find_all('div', class_='example-class')

Bu kodda, find_all() yöntemi, HTML belgesindeki tüm h1 etiketlerini bulmak için kullanılır. Ayrıca, belirli bir sınıf adını içeren tüm div etiketlerini bulmak için class_ parametresi kullanılır.

BeautifulSoup kütüphanesi, HTML veya XML belgelerinden veri kazıma işlemleri yapmak için oldukça kullanışlı bir araçtır.

Etiket İle Arama

BeautifulSoup, veri kazıma işlemleri için birçok farklı yöntem sağlar. Örneğin, select() yöntemi, CSS seçicileri kullanarak belirli bir etiketi veya sınıfı aramak için kullanılabilir. Aşağıdaki örnek kod, tüm div etiketlerini seçicileri kullanarak bulmak için select() yöntemini kullanır:

import requests
from bs4 import BeautifulSoup

url = 'https://www.example.com'
response = requests.get(url)

soup = BeautifulSoup(response.text, 'html.parser')

div_tags = soup.select('div')

Bu kodda, select() yöntemi, CSS seçicilerini kullanarak tüm div etiketlerini bulmak için kullanılır.

Etiket Kaldırma

BeautifulSoup kütüphanesi, ayrıca HTML veya XML belgelerindeki verileri düzenleme ve filtreleme işlemleri için de kullanılabilir. Örneğin, extract() yöntemi, bir belgedeki belirli bir etiketi veya sınıfı kaldırmak için kullanılabilir. Aşağıdaki örnek kod, tüm img etiketlerini belgeden kaldırmak için extract() yöntemini kullanır:

import requests
from bs4 import BeautifulSoup

url = 'https://www.example.com'
response = requests.get(url)

soup = BeautifulSoup(response.text, 'html.parser')

for img in soup.find_all('img'):
    img.extract()

Bu kodda, find_all() yöntemi, belgedeki tüm img etiketlerini bulmak için kullanılır. Daha sonra, extract() yöntemi, bulunan tüm img etiketlerini belgeden kaldırmak için kullanılır.

Sonuç

BeautifulSoup kütüphanesi, web scraping işlemlerini daha hızlı ve daha kolay hale getirir. Bu kütüphane, web sayfalarından veri kazıma işlemleri yapmak isteyen herkes için harika bir araçtır.

Evet Python Beautifulsoup modülü kullanımı bu şekilde olmakta. Her bir konu için daha ayrıntılı yazılar elbette yazacağım ama şimdilik giriş mahiyetinde bu yazı yeterli diye düşündüm. Tüm Python yazılarımıza buraya tıklayarak ulaşabilirsiniz. Herkese hayırlı günler.

Skorumuz:
Oy Vermek İçin Tıklayın
[Toplam: 0 Ortalama: 0]

Bir cevap yazın

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

Başa dön tuşu