Python ile HTML’de özel karakterlerin kodlarını çözmek için html modülündeki unescape() metodunu kullanabilirsiniz. Metodun kullanımına ilişkin adım adım detaylı açıklamalar ve örnekleri içeren bu yazıyı inceleyerek Python’da HTML kod çözme işlemini kolaylıkla gerçekleştirebilirsiniz.
Python ile HTML Decode İşlemi Nedir?
HTML’de özel karakterler kodlanır ve bu kodlar HTML sayfalarına yerleştirilir. Örneğin; &
işareti ve <
işareti < gibi. Sayfa görüntülendiğinde kodlar çözülür ve ekranın görselinde normal karakter olarak görünür. İşte bu kodları çözme işlemi HTML decode olarak tanımlanır.
Peki, Python ile HTML decode işlemi nasıl yapılır? HTML decode işlemi için Python’un html
modülündeki unescape()
metodunu kullanabilirsiniz. Aşağıda adım adım metodu kullanma işlemini örneklerle gösteriyorum.
Python’da HTML Decode İşlemi Nasıl Yapılır?
Pythonda HTML decode işlemi yaparken HTML karakterlerinin kodlarını çözmeniz gerekir. Bu işlem için html
modülündeki unescape()
metodunu kullanabilirsiniz. Kullanımı ile ilgili detayları aşağıda açıklıyorum.
Unescape() Metodu Kullanımı
unescape()
metodu, ', ", >, <, &, ve gibi özel karakterleri normal karakterlere çevirir. Metot parametre olarak kodları çözmek istediğiniz string değişkenini alır.
Aşağıdaki gibi örnek bir kullanım yapabilirsiniz:
import html
html_string = "<h1>Hello World!</h1>"
print(html.unescape(html_string))
Yukarıdaki örnekte yapılan işlemler:
- html: Python ile HTML decode işlemini gerçekleştirebilmek için
html
modülünü içe aktarıyoruz. html_string
: Kodlarını çözeceğimiz stringi değişkenimize atıyoruz.unescape()
: Metodunu kullanarak stringdeki özel karakterlerin kodlarını çözüyoruz.
Konsol Çıktısı:
<h1>Hello World!</h1>
Örnek 2:
import html
html_string = "<p><em>Python</em> ile <span style='color: red;'>HTML</span> Decode İşlemi</p>"
print(html.unescape(html_string))
Konsol Çıktısı:
<p><em>Python</em> ile <span style='color: red;'>HTML</span> Decode İşlemi</p>
Kullanıcıdan Alınan Değerin HTML Kodunu Çözme
Kullanıcıdan alacağınız değerleri string olarak atayarak üzerlerinde unescape()
metodunu uygulayabilirsiniz. Aşağıda bir örneği var:
import html
html_string = input("Decode etmek istediğiniz HTML kodunu giriniz: ")
print(html.unescape(html_string))
Konsol Çıktısı:
Decode etmek istediğiniz HTML kodunu giriniz: <p><em>Python</em> ile <span style='color: red;'>HTML</span> Decode İşlemi</p>
<p><em>Python</em> ile <span style='color: red;'>HTML</span> Decode İşlemi</p>
Pandas Kütüphanesi ile Çalışma
Pandas kütüphanesi de unescape()
metodunu çalıştırabilir. Pandas kütüphanesi veri analizine yönelik güçlü bir araçtır. İçiçe veri çerçeveleri (DataFrame) oluşturmanıza olanak tanır. Bu çerçeveler üzerinden tüm satır veya kolonlara tek bir işlem uygulayabilirsiniz.
Pandas ile unescape() Metodunun Kullanımı
Pandas üzerinden unescape() metodunu kullanmak için önce DataFrame oluşturmanız gerekir. Aşağıdaki gibi örnek bir kullanım ile DataFrame oluşturabilir ve unescape() metodunu uygulayabilirsiniz:
import pandas as pd
import html
df = pd.DataFrame({"column1": ["hello world!", "<p><em>Python</em> ile <span style='color: red;'>HTML</span> Decode İşlemi</p>"]})
df['column1'] = df['column1'].apply(lambda x: html.unescape(x))
print(df)
Konsol Çıktısı:
column1
0 hello world!
1 <p><em>Python</em> ile <span style='color: red;'>HTML</span> Decode İşlemi</p>
Numpy Kütüphanesi ile Çalışma
Numpy kütüphanesi de pandas gibi güçlü bir araçtır ama ondan farklı olarak unescape() metodunu çalıştırabilmek için vectorize() metodunu kullanmanız gerekir. Numpy üzerindeki unescape() metodunun kullanımına ilişkin detayları aşağıda veriyorum.
Numpy ile unescape() Metodunun Kullanımı
Numpy üzerinden unescape() metodunu kullanmak için önce array oluşturmanız gerekir. Ardından oluşturduğunuz array üzerinden unescape() metodunu çalıştırabilirsiniz. Aşağıdaki gibi örnek bir kullanım yapabilirsiniz:
import numpy as np
import html
my_array = np.array(["hello world!", "<p><em>Python</em> ile <span style='color: red;'>HTML</span> Decode İşlemi</p>"])
v_html_unescape = np.vectorize(html.unescape)
v_html_unescaped_array = v_html_unescape(my_array)
print(v_html_unescaped_array)
Konsol Çıktısı:
[['hello world!']
['Python ile HTML Decode İşlemi
']]
Sipariş Verileri Üzerinde Uygulama Örneği
Aşağıda sipariş verilerini içeren bir veri çerçevesi oluşturup içerisinde unescape() metodunun kullanımını gösteren bir örnek paylaşıyorum:
# Sipariş verilerini içeren veri çerçevesi
orders = pd.DataFrame({"Sipariş No": [202212034, 202212035, 202212036],
"Ürün Adı": ["Baklava", "Meyve Tabağı", "Çikolata"],
"Alıcı Adı": ["Ali Veli", "Ayşe Fatma", "Canan Candan"],
"Adres": ["İstanbul, Kartal \xA7\xC4\xB0zlem sokak, no 10, daire 15", "İstanbul, Ataşehir \xA7\xC4\xB0zlem sokak, no 11, daire 12", "İstanbul, Maltepe \xA7\xC4\xB0zlem sokak, no 12, daire 10"],
"Notlar": ["Afiyet olsun.", "Geçmiş olsun.", "İyi ki doğdun."]})
# Unescape metodu uygulanmadan önce sipariş verileri
print("Unescape metodu uygulanmadan önce sipariş verileri:")
print(orders)
# Unescape metodu uygulaması
orders['Adres'] = orders['Adres'].apply(lambda x: html.unescape(x))
orders['Notlar'] = orders['Notlar'].apply(lambda x: html.unescape(x))
# Unescape metodu uygulandıktan sonra sipariş verileri
print("\nUnescape metodu uygulandıktan sonra sipariş verileri:")
print(orders)
Konsol Çıktısı:
Unescape metodu uygulanmadan önce sipariş verileri:
Sipariş No Ürün Adı Alıcı Adı Adres Notlar
0 202212034 Baklava Ali Veli İstanbul, Kartal ¦İzlem sokak, no 10, daire 15 Afiyet olsun.
1 202212035 Meyve Tabağı Ayşe Fatma İstanbul, Ataşehir ¦İzlem sokak, no 11, daire 12 Geçmiş olsun.
2 202212036 Çikolata Canan Candan İstanbul, Maltepe ¦İzlem sokak, no 12, daire 10 İyi ki doğdun.
Unescape metodu uygulandıktan sonra sipariş verileri:
Sipariş No Ürün Adı Alıcı Adı Adres Notlar
0 202212034 Baklava Ali Veli İstanbul, Kartal Şİzlem sokak, no 10, daire 15 Afiyet olsun.
1 202212035 Meyve Tabağı Ayşe Fatma İstanbul, Ataşehir Şİzlem sokak, no 11, daire 12 Geçmiş olsun.
2 202212036 Çikolata Canan Candan İstanbul, Maltepe Şİzlem sokak, no 12, daire 10 İyi ki doğdun.
Panda kütüphanesi üzerinden oluşturdum veri çerçevesini ve üzerinde unescape() metodunu uyguladım. Kodların çözülmesiyle adreslerdeki özel karakterler normale döndü.
Python’da HTML Decode İşleminin Önemi Nedir?
Pythonda HTML decode işlemi, kullanıcıların girdikleri içeriklerdeki özel karakterlerin kodlarının çözümlenmesini sağlar. Bu sayede kullanıcıların girdiği içerikler görüntülenirken sayfanın görselinde anormal karakterlerin yerine normal karakterler kullanılır. Örneğin ; >, <, &, ve , karakterleri yerine normal karakterler görüntülenir.
Kapanış:
Pythonda HTML decode işlemi yaparak içeriklerdeki özel karakterlerin kodlarının çözülmesini sağlayabilirsiniz. Bu sayede kullanıcıların girdikleri içeriklerde normal karakterlerin kullanılmasını sağlarsınız. Bu yazıda adım adım detaylıca unescape() metodunun kullanımına dair örnekler verdim ve açıklamalar yaptım. Yazıyı okuduktan sonra Python’da HTML decode işleminin nasıl yapılacağına dair tüm bilgileri edindiğinizi umuyorum.