Bot İle Karayolları Yol Durumu Çekme

 

 

Merhaba Arkadaşlar,

Geçenlerde bir müşterimizin internet sitesine Karayolları Genel Müdürlüğü Yol Durumu Bülteni’nin eklenmesi talebi geldi. Tabi bu konuda herhangi bir servis olmadığı için (yada var ben bilmiyorum) bülten sayfasından bot yazarak çekmek gerekti. Bende gerekli bot’u yazarak sayfaya ekledim. Belki birilerine lazım olur diye buraya da ekliyorum.

Öncelikle projemizde kullanacağımız HtmlAgilityPack’i Nuget Console üzerinden Install-Package HtmlAgilityPack yazarak projemize ekliyoruz.  Sonra sayfaya bir GridView ekleyelim.

Son olarak aşağıdaki kod yardımı ile GridView’ı dolduruyoruz.

Kod kısmından biraz bahsetmek gerekirse öncelikle ilgili sayfayı çekiyoruz. Sonra bizim için önemli kısım table nesnesinin içi olduğu için bu kısmı ayrıştırıyoruz. Burada önemli olan nokta sayfaya bakarken f12 yaptığımızda gördüğümüz kodlar ile sayfayı çektiğimizde gelen kodların aynı olmaması. Eğer ayrıştırırken \ işaretini koymazsanız doğru şekilde ayrışmaz. Burada koda Breakpoint koyup gelen veriyi Notepad++ ‘a yapıştırıp incelemek en güzel çözüm. Daha sonra biraz önce eklediğimiz HtmlAgilityPack kullanıp oluşturduğumuz DataTable’ı dolduruyoruz. Tabi yine kod içinde gelen “\r\n\t\t\t\t\t\t\t” gibi kısımları replace etmemiz gerekiyor.

Bunlar da hoşunuza gidebilir...

Bir cevap yazın

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