prototype Posted January 4, 2013 Share Posted January 4, 2013 Merhaba arkadaşlar html dosyasından veriçekme konusunda yardımınıza ihtiyacım var. Forumda araştırdım öğreniğini bulamadım ve nasıl yapacağımı bilemediğim için bi ön çalışmada yapadım. Htmlden belli bir veriyi çekip bunu input a veya labele aktarma işlemini yapamıyorum. Varsa bi kod çalışma falan paylaşabilirseniz çok sevinirim. Quote Link to comment Share on other sites More sharing options...
Editor pairs Posted January 4, 2013 Editor Share Posted January 4, 2013 html i verirsen yardımcı olabiliriz. Quote Link to comment Share on other sites More sharing options...
prototype Posted January 4, 2013 Author Share Posted January 4, 2013 Html dosyasının asıl görünümü bu http://warrock-stats.com/index.php?site=stats&nickname=pwpgeneral bu sayfayı bilgisayara indirip dosyada bulunan Player Main Data ve Player Ranks bölümündeki bilgileri çekip labele aktarmam gerek. Html dosyasını indirmek için; http://www.fileden.com/files/2012/6/29/3321548//htmlfile.rar Quote Link to comment Share on other sites More sharing options...
Editor pairs Posted January 4, 2013 Editor Share Posted January 4, 2013 Üzerinde çalışayım sonucu bildiririm kardeşim. Quote Link to comment Share on other sites More sharing options...
KintaRo Posted January 4, 2013 Share Posted January 4, 2013 mantığı öğrenmeniz için küçük bir örnek hazırladım. Bu örnek o sayfadaki sadece Level ve Experience'i çekiyor. Buna bakarak diğerlerinide yaparsınız. Biraz karışık ama bildiğim tek yol bu. kodlara açıklamada yazdım. http://www.mediafire.com/?by5khs5ug6x5e74 HTTP.Download("http://warrock-stats.com/index.php?site=stats&nickname=pwpgeneral", _TempFolder .. "\\stats.txt", MODE_TEXT, 20, 80, nil, nil, nil) local metin = TextFile.ReadToString( _TempFolder .. "\\stats.txt") levelara = String.Find(metin, "bold;\">Level<", 1, false) -- level sayısından önceki benzersiz bir metin lazım. ben bunu seçtim önce bu metnin kaçıncı karakterde başladığını buluyoruz. -- bulduktan sonra level sayısını kopyalamak için yukardaki metnin karakter sırasına +48 ekleyerek leveli buluyoruz. çünkü level sayısı yukardaki metinden 48 karakter sonra level = String.Mid(metin, levelara+48, 2) Input.SetText("Input1", level) -- inputa yazdirdik -- şimdi xp yi alalım -- xp den önceki metni bulalım. yani şu: Experience xpara = String.Find(metin, "Experience", levelara, false) -- xp'de yazan karakter sayısı değişken olduğu için ondan sonraki metnide alalım xp_bitis_ara = String.Find(metin, "XP</div>", xpara, false) -- line"> karakter sayısı 46, XP</div> kaçıncı karakterdeyse arasını alacağız. aradaki farkı bulalım bu bize kaç karakter kopyalayacağımızı söyleyecek aralik = xp_bitis_ara-(xpara+46) -- şimdi bu karakterleri kopyalayalım xp = String.Mid(metin, xpara+46, aralik) Input.SetText("Input2", xp) -- inputa yazdirdik Quote Link to comment Share on other sites More sharing options...
prototype Posted January 4, 2013 Author Share Posted January 4, 2013 KintaRo üstad burada anlamadığım tek şey karakter sayısı onu nasıl sayıcaz onu anlamadım. Diyelim 5 harfli bir kelime var ve 4. harfini almak istiyorum öylemi sayıcaz. Senin gösterdiğin koddaki satırı saydım dediğin gibi xp yi almak için 46. karakterden sonrası denk gelmiyor ?. Quote Link to comment Share on other sites More sharing options...
KintaRo Posted January 4, 2013 Share Posted January 4, 2013 şimdi bold;">Level< metninden sonra 48 karakter say demişim. O zaman sayfanın kaynak kodunu açıp imleci bold'daki b nin soluna alıp klavyeden sağ ok ile tek tek giderek sayacaksın. Quote Link to comment Share on other sites More sharing options...
prototype Posted January 4, 2013 Author Share Posted January 4, 2013 Anladım usta burada sadece rakamlarımı alıyor yoksa karışık mı?. Hem harf hem rakam ?. Quote Link to comment Share on other sites More sharing options...
nightmare3519 Posted January 5, 2013 Share Posted January 5, 2013 İkisinide alir benim bildigim zaten kintaro abide belli bir seyler sinirlamamis 48 karakter demis. Quote Link to comment Share on other sites More sharing options...
KintaRo Posted January 5, 2013 Share Posted January 5, 2013 Şimdi bir metin bloğunun içindeki herşeye karakter gözü ile bakın. Sayı, Metin farketmez. String.Find() komutu aradığınız karakterlerin o Metnin kaçıncı karakterinde başladığını söyler size. Eğer bulamazsa -1 döndürür. Burdan yola çıkabilirsiniz. Quote Link to comment Share on other sites More sharing options...
korasoglu Posted January 5, 2013 Share Posted January 5, 2013 Hocam peki karekter saymandan href="index.asp">Anasayfa</A> | <A href=" ile <A arasında ne varsa karakter sayısı olmadan nasıl aldırabiliriz. Quote Link to comment Share on other sites More sharing options...
Editor pairs Posted January 5, 2013 Editor Share Posted January 5, 2013 (edited) Karakter sayısı olmadan alamazsın malesef hocam.Yazının uzunlugunu bulma gibi bir şansınız yok malesef. Kazım kardeşimin string between fonksiyonu vardı ams için onunla olur sanırım. Edited January 5, 2013 by pairs Quote Link to comment Share on other sites More sharing options...
prototype Posted January 5, 2013 Author Share Posted January 5, 2013 Benimde belirtmek istediğim oydu karakter sayısını otomatik alması lazım. Çünkü her hesabın karakter bilgileri farklı. Quote Link to comment Share on other sites More sharing options...
Editor pairs Posted January 5, 2013 Editor Share Posted January 5, 2013 otomatik alması işi biraz zorlaştırıyor işte ams bazı şeylerde takılıyor böyle malesef.Uğraştıra bilir ama denemek lazım. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.