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

0 الردود 2 المشاهدات
·
المشاركون
صاحب الموضوع #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:

كود
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:

كود
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:

كود
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.

يجب تسجيل الدخول للرد.

المستخدمون الذين يشاهدون هذا الموضوع (الإجمالي: 1, الأعضاء: 1, الضيوف: 0)
الإجمالي: 1 (الأعضاء: 1, الضيوف: 0)
0 اقتباسات محددة