Python ile Div Verisi Çekme

0 Respuestas 2 Visitas
·
Participantes
Autor del tema #1
Python kullanarak web sayfalarındaki belirli div etiketleri içindeki verileri nasıl çekebiliriz? Bu süreç genellikle web scraping olarak adlandırılır ve özellikle dinamik olmayan sayfalarda oldukça kullanışlıdır. İşte bu işi yaparken izlenebilecek temel adımlar ve örnek bir yaklaşıma değineceğim.


İlk olarak, Python'da web sayfası içeriğini almak için requests kütüphanesini, HTML içeriğini analiz etmek ve belirli elementleri seçmek için ise BeautifulSoup kütüphanesini kullanmak en yaygın ve etkili yöntemdir. Bu kütüphaneler sayesinde, hedef sayfadaki belirli divleri veya başka HTML elementlerini kolayca tanımlayıp içlerindeki veriyi çıkartabilirsiniz.

İşte temel adımlar:

  1. Sayfayı indir: requests.get() ile hedef URL’den sayfa içeriğini al.
  2. İçeriği parse et: BeautifulSoup ile HTML içeriğini analiz et.
  3. Belirli divleri seç: class, id veya başka özelliklere göre divleri filtrele.
  4. Veriyi çıkar: Seçilen divlerin iç metnini veya belirli alt elementleri al.


Örnek kod:

CÓDIGO
123456789101112131415python
import requests
from bs4 import BeautifulSoup

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

if response.status_code == 200:
    soup = BeautifulSoup(response.text, 'html.parser')
    # Belirli class'a sahip divleri seç
    divler = soup.find_all('div', class_='hedef-class')
    for div in divler:
        print(div.get_text(strip=True))
else:
    print('Sayfa alınamadı.')


Bu örnekte, 'hedef-class' adlı class’a sahip tüm divleri buluyor ve içeriğini temizlenmiş şekilde yazdırıyoruz. Tabii, sayfa yapısına göre id veya diğer özellikleri kullanabilir, daha karmaşık seçicilerle spesifik veri çıkarmaları yapabilirsiniz.

Unutmayın, web scraping yaparken sitenin robots.txt kurallarına ve kullanım şartlarına dikkat etmek, etik ve yasal açıdan önemli. Ayrıca, dinamik içeriklerin çekilmesi için Selenium gibi araçlara geçmek gerekebilir ama temel HTML yapısında bu yöntem oldukça yeterlidir.

Debes haber iniciado sesión para responder.

0 citas seleccionadas