ASP ile Bot Yapalım

ASP ile Bot Yapalım Hakkında Bilgiler
#

ASP ile Bot Yapalım

ASP ile Bot Yapalım

ASP ile Bot Yapalım


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!



İlk yorumu yapan sen ol!



Yorum Bırak

Site İçi Genel Arama


Sosyel Medya Paylaşım



Bazı Paylaşımlar
  • Adres: Levent İstanbul, Turkiye
  • Email: info@unpoo.com


  • Hafta içi: 10:00-17:00
Sosyal Medya

Bu siteyi kullanarak sitenin ve site üzerinde kullanılan diğer sitelerin çerez politikalarını kabul etmiş sayılırsınız.
Copyright © 1998-2016 UnPoo! All rights reserved. Sayfa 0,1500sn de yüklendi.