Python ile Web Sayfası İçerik Karşılaştırma

0 Respuestas 2 Visitas
·
Participantes
Autor del tema #1
Web sayfalarının içeriğini otomatik olarak karşılaştırmak, özellikle içerik güncelliğini takip eden sitelerde, veri kalitesi ve değişim takibi açısından büyük önem taşır. Python, bu alanda güçlü kütüphaneleri ve esnek yapısıyla, kullanıcıların işlemi kolayca gerçekleştirmesine imkan sağlar.


İlk adım, hedef web sayfalarındaki içerikleri elde etmek. Bunun için en yaygın kullanılan kütüphane requests, ve HTML'den istenilen veriyi çıkarmak için BeautifulSoup kullanılır. Örneğin:

CÓDIGO
12345678910111213141516
import requests
from bs4 import BeautifulSoup

url1 = 'https://ornek.com/sayfa1'
url2 = 'https://ornek.com/sayfa2'

response1 = requests.get(url1)
response2 = requests.get(url2)

soup1 = BeautifulSoup(response1.text, 'html.parser')
soup2 = BeautifulSoup(response2.text, 'html.parser')

[b]İçeriğin belirli bölümünü seçmek için uygun CSS seçiciyi kullanmak önemli[/b]
content1 = soup1.select_one('div.content').get_text(strip=True)
content2 = soup2.select_one('div.content').get_text(strip=True)


İkinci aşamada, içeriklerin karşılaştırmasını yapmak. Basitçe, iki metni satır bazında veya kelime bazında karşılaştırabiliriz. Python'un difflib kütüphanesi, farkları belirgin hale getirmede oldukça kullanışlıdır:

CÓDIGO
12345678910111213
import difflib

diff = difflib.unified_diff(
    content1.splitlines(),
    content2.splitlines(),
    fromfile='Sayfa 1',
    tofile='Sayfa 2',
    lineterm=''
)

for line in diff:
    print(line)


Bu çıktı, iki içerik arasındaki farkları detaylı biçimde gösterir. Ayrıca, içeriklerin toplam benzerlik oranını hesaplamak için SequenceMatcher kullanılabilir:

CÓDIGO
123
matcher = difflib.SequenceMatcher(None, content1, content2)
print(f'Benzerlik oranı: {matcher.ratio() * 100:.2f}%')


Bu yöntemler, içerik değişimlerini otomatik ve detaylı biçimde takip etmeyi sağlar. Aynı zamanda, düzenli aralıklarla scriptleri çalıştırarak, güncellemeleri zaman içinde izlemek mümkündür. Bu teknikler, web siteleri üzerinde içerik güncellemelerini, fiyat değişikliklerini veya metin düzenlemelerini takip etmek için oldukça etkilidir.

Debes haber iniciado sesión para responder.

Usuarios que están viendo este tema (Total: 1, Miembros: 1, Invitados: 0)
Total: 1 (miembros: 1, invitados: 0)
0 citas seleccionadas