asp bot
10
●1.741
- 31-10-2008, 03:20:39bot ilen belli aralıklar arasını çekebiliyorum fakat sorun şu ki sadece css ilen tasarlanmış sitelerde bunu yapabiliyorum çünkü div id yada div class a göre çektiriyorum tablolarla tasarlanmış bir siteden hangi yöntemle çekebilirim yani o hedef aralığı nasıl belirlerim???
- 31-10-2008, 15:07:10Kimlik doğrulama veya yönetimden onay bekliyor.Tablolarla tasarlanmış sitelerden veri çekmek div'le oluşmuş sitelere göre biraz daha uğraştırıcıdır ama mantık aynıdır.
Yapman gereken kodlar arasında sadece 1 kez kullanılmış olan iki bölüm bulmak. Bu bölümlerden birisi alınacak verilerden önce, ikincisi sonra olmalı.
Ben bu şekilde çok fazla bot yazdım zamanında. Tbi o zaman css sadece style için kullanılıyordu. web 2 felan yoktu ortada.
Genelde botlarımda kullandığım fonksiyonu ekliyorum. Umarım yardımcı olur.
Function VeriCoz(Veri, Basla, Bit)
iBaslangic = Instr(Veri, Basla)
iBitis = Instr(Veri, Bit)
VeriCoz = Mid(Veri, iBaslangic+Len(Basla), iBitis-(iBaslangic+Len(Basla)))
End Function
Örnek :
strHamVeri = VeriCoz(strVeri, "<table border=""1"" width=""200"">","</table><br>")
"<table border=""1"" width=""200"">" bunun ve "</table><br>" bunun kodlar arasında sadece 1'er kez kullanıldığını düşünelim.
Fonksiyon bu iki string'in arasındaki verileri alıp bir değişkene atıyor. Bu fonksiyonla kodlar içerisindeki fazla çöplerden kurtularak daha rahat çalışılabilir hale geliyor (en azından benim için)
Belki bu işi daha kolay yapan fonksiyonlar vardır ama en iyi kod çalışan koddur mantığıyla yeni bir fonksiyon yazma ihtiyacı hissetmedim
- 02-11-2008, 02:08:42Eposta Aktivasyonu Gerekmektedostum acaba asp botun tüm kodlarını yayınlama imkanın varmı nasıl çalıştığı hakkında bilgimiz olur hemde
- 02-11-2008, 17:58:53arkadaşlar dediğiniz tarz da olayı yapıyorum ama açıklık getirmek gerekirse sadece 1 tanesi için oluyor örneğin bi video sitesindeki arama kayıtlarını çektirecem
1
2
3
.
.
diye sıralıyor onları bu table orda ilk defa kullanılmaya başlıyor ben o kısmı çekiyorum ama 2.video da ayırt edici bi şey yok oda yine table ile açıp kapatıyor - 03-11-2008, 00:41:42Veri almak istediğin adresi verirsen senin için denerim.
Ayrıca dediğine göre her verinin kendisine ait tablosu var. Bunu kendin için kullanışlı hale getirebilirsin.
ilk ve son unique değerin arasındaki verileri <table ...> şeklinde split ile diziye al. For each ile de verilerin istediğin yerlerini , left, mid, right gibi yardımcı fonksiyonlarla kırpıp kullan.
Demesi kolay gibi şeyler söyleme lütfen.
Dediğim gibi verileri almak istediğin adresi verirsen dener sonucunu bildiririm.
Kolay gelsin - 03-11-2008, 01:34:47Akilli.Tv - Türkiyenin ilk ve tek interaktif video paylaşım sitesi arama sayfasında tarkanı sorgulattım ve sonuçlar geliyor ben burda sadece ilk çıkan videoyu çekebiliyorum hocam gerisini yapamıyorum
- 03-11-2008, 03:31:08instr func. nunu kullanırken veriye bakılmaya başlıyacak noktayı belirleyebiliyorsun. 2. veriye bakarken 1. verinin olduğu noktadan sonra başlatırsan sorun çözülür. basit bi örnek vermek gerekirse
ilk veri için
bas1 = Instr(1,Veri, Basla)
bit1 = Instr(1,Veri, Bit)
VeriCoz1 = Mid(Veri, bas1, bit1)
devamında 2. veri için
bas2 = Instr(bit1,Veri, Basla)
bit2 = Instr(bit1,Veri, Bit)
VeriCoz2 = Mid(Veri, bas2, bit2)