İlan Karşılaştır

ilankarsilastir.com ya da ilankiyasla.com

Sahibinden.com`da araba ilanlarına bakarken beğendiğim birkaç ilanın özelliklerini karşılaştırmak ve hangisi daha iyi, birinde olup diğerinde olmayan neler var gibi sorularıma cevap bulmak adına İnternet`te uygulama, site vs aramış ama bulamamıştım.

Sahibinden.com`daki karşılaştırma özelliği ise araçların fabrika verileri üzerinden bu işi yapıyor ki bu da işimi görmüyordu maalesef. Baktığım araçlarda, km`si az ama abs`si olanla, km`si fazla ama fiyatı daha ucuz olanı karşılaştırabilmek isteyince buna cevap vermiyor sundukları karşılaştırma hizmeti.

Excel dosyası hazırlayayım dedim ama o kadar çok özellik varki ilanlarda, bunları tek tek bir dosyaya aktarsam da excel`den karşılaştırma yapmak kolay değil. Zaten özelliklerin başlıklarını yazıp dokümanın sağa doğru iyice uzamaya başlamasıyla bu yöntemi bırakmam da bir oldu.

Sonra dedim kendi kendime; “madem yazılımcısın, kaldır kıçını da iki satır kod yaz da ihtiyacını karşılayacak bir şeyler yap”.

Önce yapmam gerekenleri belirledim.

  1. ilan numarasına göre sahibinden.com`daki ilan sayfasını alıp, sayfadaki belli alanlarda yazan verileri okumam gerekliydi.
  2. Sonra eldeki verileri e-ticaret sitelerindeki ürün karşılaştırma tabloları gibi sunmalıydım.

İlk adım olan sayfadaki verileri okuma için “crawler” yazmam gerekliydi fakat daha önce bu taraz bir çalışma yapmamıştım, yüzeysel bilgim vardı. Neyse, biraz araştırınca “CsQuery” adında harika bir şey buldum.

CsQuery, jQuery`nin .net port`uymuş. Yani jQuery`yi html tarafında nasıl kullanıyorsak, CsQuery`i de .net kodu tarafında aynı şekilde kullanabiliyoruz. Bir html elementi bulmak için jQuery`de nasıl “selector” yazıyorsak burada da aynı şekilde yazıyoruz. Tüm detayları GitHup`daki proje sayfasından öğrenebilirsiniz.

İşin zor kısmı olan ilan verilerini okumak kısmını bu şekilde kolayca halletmiş oldum. Bundan sonrası ilan verilerini gruplayarak, ortak olanların hangi ilanda olduğu, hangisinde olmadığını göstermek kalmıştı. Bu kısımda özel bir şey yok, standart .net kodları ile ilanlardaki özellikleri tekilleştirerek bir değişkene atayıp, sonra da sayfaya yazdırırken her bir özelliğin karşılığını sadece dolu olanları “var” şeklinde yazdırarak kullanıcıya gösterdim.

İlanları karşılaştırırken ilan kategorilerine göre değil sayfadaki tüm özelliklere göre dinamik olarak karşılaştırma tablosunu hazırladığım için araba ile ev ilanını da karşılaştırabiliyorsunuz, tabi sonuç çok tatmin edici olmuyor :D

Hızlı ilerlemek adına da projenin arayüzünde bootstrap kullandım.

Arayüz, ilanlarda çok fazla özellik olduğu ve bir çoğunun ya hiç karşılığı olmadığı ya da tüm ilanlarda da dolu olmasından dolayı kafa karıştırıcı görünüyordu. Bu sebeple, özellik isimlerine tıklayarak seçilebilir yaptım ve ilk seçimden sonra görünen “Sadece seçtiklerimi göster” butonu ile seçilmeyen tüm alanların gizlenmesini sağladım. Böylece ziyaretçi sadece ilgilendiği özellikleri rahatça karşılaştırabiliyor.

Buraya kadar olan tüm süreç yaklaşık üç akşamımı aldı. Bu süre sonunda ilankarsilastir.com`un ilk beta versiyonunu yayına açmış oldum.

Öncelikli olarak kullanılabilirlik tarafında yapılacak bir kaç çalışma var not aldığım, ayrıca ilandaki fiyatı sayfada göstermeyi unutmuşum :)

Sizin de önerileriniz varsa yorum olarak paylaşırsanız çok sevinirim.

Bir cevap yazın

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