“ Arkadaşlar genelde PHP kullanırlar ama biz de size klasik ASP ile bot yapımını anlatalım istedik. Buyurun bakalım nasıl yapılıyormuş. ”
Arkadaşlar öncelik oturup bunu kendim kodlamadım. Sitelerde bir çok yerde bulacağınız ve yabancı kaynaktan alınıp Türkçe diline entegre edilmiş bir koddur. Sıfırdan kodlasanız da benzer bir şey yapmak zorunda kalacaksınız çünkü sistem standart kodlama ile işliyor. Geriye kalan değişimler ise sadece sizin hayal gücünüzde olan özelleştirmelerdir.
Kodları vermeden önce bunun XML üzerinden veri çekmek olmadığını belirteyim. Bu bildiğiniz HTML kaynakta bulunan kodlar arasından verileri çekmektir.
Veri çekeceğimiz örnek sayfa bu olsun:
< font size="3">< b>Acaba< /b>< /font>< br>< br>Dönelim< br>Döndürsün bizi< br>Kalbin akıp giden bulutlara benzeyen sesi < br>Yağmursuz bir yağmura açılmış kapılardan< br>Ve akılda kalan bir yokuştan< br>Ve yalnız çocuklara özgü o sonsuz sinema koltuklarından < br>Ve çocukluktan< br>Dönelim< br>Dönelim mi biz< br>Gençlikten, oralardan< br>Mutluluğu bir kabuk gibi saran mutsuzluklardan < br>Dönelim mi acıya< br>Acıya, büyük acıya< br>Ve soralım mı acaba< br>Ey büyük yalnızlık insansan eğer< br>Bir kaya< br>Dalgalar yalarken onu < br>O bakarken kaskatı kalabalıklara< br>Ah, kalbin bulut bulut akan sesi.< br>< br>Bütünüyle bir semte benziyor Ruhi Bey < br>Binlerce, on binlerce kedinin hep birden kımıldadığı< br>Kedilerden örülmüş bir semte< br>Ve soğuk bir tuvalde yerini bulamamış renkler gibi < br>Soğuk ve ayakta tutan çelişkileri< br>Bir görünümden bir başka görünüme kolayca sıçranan< br>Her şeyin, ama herşeyin çok dıştan farkedildiği < br>Eh belki de bir satır fazlalığı ya da bir satır eksikliği< br>Belki de genç bir şairden ödünç alınan. < br>< br>Yürüyor mu, yürümeyi mi düşünüyor Ruhi Bey< br>Düşünmesi daha mı sonra koyuluyor yola< br>Nereye gidecek ama, nereye varacak sanki < br>Yoksa bir oyun tadı mı buluyor bunda< br>Oyundan atılmaktan korkmayan bir oyuncu gibi< br>Boşvermiş de sanki oyunun kurallarına < br>Üstelik son bölümde, perdenin kapanmasına< br>Azıcık vakit kalmış< br>Ya da vakit var daha. Ama ne çıkar< br>Gövdenin yazgıya başkaldırması mı < br>Ruhi Beyin< br>Başkaldırması mı yoksa< br>< br>Vaktinden önce anlamanın şaşkınlığı mı< br>Vaktinde anlamanın sevinci mi < br>Ya da biraz geç kalmanın< br>O gereksiz tedirginliği mi< br>Hangisi< br>< br>Ama belli ki sonundayız her şeyin < br>En sonunda.< br>< br>< b>Eklenme Tarihi:< /b> 26.06.1999< br>< br>< b>< a href="?sayfa=sair&sair_id=71&sair=Edip Cansever">Edip Cansever< /a>< /b>< br>< br> Puan: < b>6.44/27< /b> Oy< br>< font color="#333399"> Şiire puan vermek için:< br> Aşağıdaki kodu sağındaki kutuya girip, puanınızı seçin ve Gönder butonunu tıklayın.< br> < /font>
Yukarıda verdiğimiz içeriği kaynak kodlardan incelerseniz eğer burada bulacağımız nokta kodlar içerisinde benzersiz alanları bulabilmek olacaktır. Bu kısımda örneğin;
< font size="3">< b>
Yukarıda verdiğimiz kısım şiirin başlık kısmı olmaktadır ve bunu alacağız. Bitişi için ise;
< /b>< /font>< br>< br>
Üstteki kısım ise başlığımızın bitiş noktası olacaktır. Şiirin gövdesi, title kısmı vb ne isterseniz bunun gibi benzersiz alanları bularak içerik çekme şansınız vardır. Şimdi sıra verileri çekmek için gereken ASP kodlama sistemine geliyor.
Burada iki türlü kod çekim sistemi olan "aspTear" veya "MSXML2.ServerXMLHTTP" kısmından size uygun olanı tercih edersiniz. Dikkat edin karakter sorunu olursa bir diğerini kullanın.
aspTear ile veri çekimi;
< % strVeriCekilecekAdres = "http://site.tld/ornek.html" Set stTear = Server.CreateObject("Softwing.AspTear") stTear.FollowRedirects = True 'Yönlendirme varsa onun için kullanırız blnAlinanVeri = stTear.Retrieve(strVeriCekilecekAdres,2, "","","") 'Veriyi aldık ve değişkene atadık Set stTear = Nothing % >
ServerXMLHTTP ile veri çekme;
< % strVeriCekilecekAdres = "http://site.tld/ornek.html" Set oXMLHttp = Server.CreateObject("MSXML2.ServerXMLHTTP") oXMLHttp.open "GET", strVeriCekilecekAdres, False oXMLHttp.Send() blnAlinanVeri = oXMLHttp.responseText 'Veriyi aldık ve değişkene atadık Set oXMLHttp = Nothing % >
Yukarıda verdiğimiz kodlarla veriyi çekmiş olduk. Şimdi bunları işlemek için "RegExp"i kullanacağız. Burada biz "aspTear" gidiyoruz;
< % Function VeriBul(BaslangicDegeri,BitisDegeri,Verimizden) Set RegEx = New RegExp With RegEx .IgnoreCase = True .Global = True .Pattern = "(" & BaslangicDegeri & ")(.+?)(" & BitisDegeri & ")" End With Set Sonuc = RegEx.Execute(Verimizden) For Each i In Sonuc VeriBul = i.SubMatches(1) Next If IsEmpty(VeriBul) Then VeriBul = "Sonuc Yok" Set RegEx = Nothing Set Sonuc = Nothing End Function Function veriCek(Adresten) On Error Resume Next Set strTear = Server.CreateObject("Softwing.AspTear") strTear.FollowRedirects = True veriCek = strTear.Retrieve(Adresten,2, "","","") Set strTear = Nothing End Function strDeger1 = "< font size\='3'>< b>" strDeger2 = "< /b>< /font>< br>< br>" strDeger3 = "< /b>< /font>< br>< br>" strDeger4 = "< br>< br>< b>Eklenme Tarihi:< /b>" strDeger5 = "< title>" strDeger6 = "< /title>" HTMLalAdresten = veriCek("http://orneksiteadresi.com/ornek.html") strBaslikBul = VeriBul(strDeger1,strDeger2,HTMLalAdresten) strSiiriBul = VeriBul(strDeger3,strDeger4,HTMLalAdresten) strTitleBul = VeriBul(strDeger5,strDeger6,HTMLalAdresten) Response.Write(strBaslikBul) Response.Write("< hr>") Response.Write(strSiiriBul) Response.Write("< hr>") Response.Write(strTitleBul) % >
Function kısımları içerisinde "VeriCek" ve "VeriBul" sabit olup değiştirmeyin. Ayrıca kodlar içerisinde bulunan (" ve =) işaretleri için (\) kullanılmıştır bunlara da dikkat ediniz!
Tarih: Nisan 08, 2024
Üzgünüm! Kayıt bulunamadı..