milano88 Posted August 3, 2013 Share Posted August 3, 2013 (edited) Merhaba arkadaşlar yardımınıza ihtiyacım var örnek site http://yayin.damarfm.com:8080/ ben bu sitededi Stream Title: ve Current Song: karşılıklarını çekmek istiyorum birşeyler denedim fakat iyice karıştı Global Kodlar function getvariable(textinput, variabletofind) local start = String.Find(textinput, variabletofind, 1, false)+String.Length(variabletofind) local finish = String.Find(textinput, ">", start, false) result = String.Mid(textinput, start, finish-start); result = String.Replace(result, "'", "", false); result = String.TrimLeft(result, nil); result = String.TrimRight(result, nil); return result end function refreshpage(geturl) local datainput = HTTP.Submit(geturl, {}, SUBMITWEB_GET, 20, 80, nil, nil); title = getvariable(datainput, "'Stream Title':") song = getvariable(datainput, "'Current Song':") Input.SetText("title", title); Input.SetText("song", song); end On Show url = "http://yayin.damarfm.com:8080" refreshpage(url) Page.StartTimer(10000); On timer refreshpage(url) yardım edebilen olursa çok sevinirim :) Edited August 3, 2013 by milano88 Quote Link to comment Share on other sites More sharing options...
DivaneTR Posted August 3, 2013 Share Posted August 3, 2013 Denemelerin doğru fakat HTTP.Submit ile çekilen veri, linktekinden farklı. Onu farkettim, sayfanın kaynak kodlarına ulaşmak lazım ama her seferinde farklı bir veri gönderiyor. Veriyi doğru çekersen kodlarda sıkıntı görünmüyor. Ha bir de local finish = String.Find(textinput, ">", start, false) olan satırı local finish = String.Find(textinput, "</b>", start, false) olarak değiştirmen gerekiyor sanırım. Quote Link to comment Share on other sites More sharing options...
milano88 Posted August 3, 2013 Author Share Posted August 3, 2013 (edited) cevap için teşekkürler, öncelikle submit url farklı çünki on showda url = "sözü geçen lik" globalde ise refreshpage fonksiyonu var oraya veriyi göderiyorum </b> yapınca bulduğu ilk </b> dan sonra kalan herşeyi temizliyor sadece onun önündeki verileri çekiyor tamamen karışık :( farklı veri çekmesinde sıkıntı yok ben timer ile dakkada bir refresh ediyorum ve eğer Stream Title ve Current Song değişirse yeni verileri alıyorum da olay Stream Title ve Current Song karşılıklarını çekmem bunlar sabit zaten Edited August 3, 2013 by milano88 Quote Link to comment Share on other sites More sharing options...
DivaneTR Posted August 3, 2013 Share Posted August 3, 2013 (edited) Sayfanın kaynak kodlarını çekebilirsek gerekli kısımları da bir şekilde okuturuz ama sayfanın kaynak kodları ile HTTP.Submit veya farklı bir yolla alınan veri farklı. Benim demek istediğim olay farklı, AMS ile çekilen veride Stream Title ve Current Song diye birşey yok, tamamen farklı bir sayfa indiriyor. Edited August 3, 2013 by DivaneTR Quote Link to comment Share on other sites More sharing options...
milano88 Posted August 3, 2013 Author Share Posted August 3, 2013 (edited) DivaneTR APZ https://dl.dropboxusercontent.com/u/70649141/html%20test.apz linkte sıkıntı görünmüyor incele istersen olay local finish = String.Find(textinput, ",", start, false) result = String.Replace(result, "'", "", false); bunlar ile oyna Edited August 3, 2013 by milano88 Quote Link to comment Share on other sites More sharing options...
DivaneTR Posted August 3, 2013 Share Posted August 3, 2013 Hayır, demek istediğim sayfanın kaynak kodlarına ulaşamıyoruz aslında ; datainput değişkeni ile çekilen veri bizim istediğimiz veri (sayfanın kaynak kodları) değil. Quote Link to comment Share on other sites More sharing options...
milano88 Posted August 3, 2013 Author Share Posted August 3, 2013 anlıyorum komple sayfayı indirip içinden aratma yapıp çeksek olmaz mı acaba örneğin s = string.gsub(s, "\n", " ") s = string.gsub(s, " *< *", "<") s = string.gsub(s, " *> *", ">") s = string.gsub(s, "(<[^ >]+)", string.lower) local deneme = string.find(s, "<title>(.+)</title>") Quote Link to comment Share on other sites More sharing options...
DivaneTR Posted August 3, 2013 Share Posted August 3, 2013 Ben derdimi anlatamadım ki, sen radyoda o an çalan parçayı çekmek istiyorsun ama datainput ile çektiğin veride parça ismi geçmiyor. Sayfayı tarayıcıda açıp kaynak kodları göster dediğimde görünüyor fakat HTTP.Submit ile o sayfanın kaynak kodları inmiyor, farklı bir sayfa iniyor. O sayfada da istediğin bilgiler yok. Quote Link to comment Share on other sites More sharing options...
milano88 Posted August 3, 2013 Author Share Posted August 3, 2013 (edited) pardon hmmm hiç farketmemişim aynen dediğin gibi gereken bilgiler yok o ne alaka onuda anlamadım yaa bi bakalım fark ettiğin için teşekkürler eidt sayfayı dowload edince tüm bilgiler aynı şekilde iniyor bu şekilde içinden veriyi çekmek lazım Edited August 3, 2013 by milano88 Quote Link to comment Share on other sites More sharing options...
Editor pairs Posted August 3, 2013 Editor Share Posted August 3, 2013 o siteden çekmen şartmı başka sitede olurmu. Quote Link to comment Share on other sites More sharing options...
milano88 Posted August 3, 2013 Author Share Posted August 3, 2013 malesef çoğu radyo linki bu şekilde buda farklı bir radyo mesela http://chicago.discovertrance.com:9214/ ama aynı mantık bu şekilde var birde http://sc.hot108.com/hot108_mp3_128kbps Quote Link to comment Share on other sites More sharing options...
DivaneTR Posted August 3, 2013 Share Posted August 3, 2013 Autoit ile alabiliyorum, işini görür mü ? Quote Link to comment Share on other sites More sharing options...
milano88 Posted August 3, 2013 Author Share Posted August 3, 2013 Autoit ten fazla anlamam ama oradan ams ye veriyi çekebilirsek 10 numara olur scripte bi bakalım Quote Link to comment Share on other sites More sharing options...
DivaneTR Posted August 3, 2013 Share Posted August 3, 2013 (edited) #include <IE.au3> $oIE = _IECreate("http://yayin.damarfm.com:8080/", 0, 0) $sHTML = _IEBodyReadHTML ($oIE) FileWrite(@DesktopDir & "\aaa.html", $sHTML) Script bu kadar :) Dosyaya kaydettikten sonra AMS ile veriyi çekebilirsin veya Autoit ile ayrıştırıp ini olarak da çıktı verebilirsin. Orası sana kalmış. PS : Scripti derlerken boyutu küçük tutmak ve daha seri çalışması için obfuscator ile /striponly parametresiyle derle. Edited August 3, 2013 by DivaneTR Quote Link to comment Share on other sites More sharing options...
mesale0077 Posted August 3, 2013 Share Posted August 3, 2013 bu şekil olsa sürekli güncelliyor yani yeni şarkı olunca 3000snde bir güncelliyor autoit ile yaptım bu şekil olsa olurmu? Quote Link to comment Share on other sites More sharing options...
milano88 Posted August 3, 2013 Author Share Posted August 3, 2013 uğraşman yeter ne demek teşekkürler Quote Link to comment Share on other sites More sharing options...
mesale0077 Posted August 3, 2013 Share Posted August 3, 2013 (edited) uğraşman yeter ne demek teşekkürler http://s3.dosya.tc/server8/rx5Ert/yay_n_izle.rar.html kolay gelsin güle güle kullan #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <IE.au3> $oIE = _IECreateEmbedded () GUICreate("Yayın oku @mesale0077", 580, 300,-1,-1) $GUIActiveX = GUICtrlCreateObj($oIE, 0, -90, 600, 360) $Label1 = GUICtrlCreateLabel("@mesale0077", 445, 240, 136, 28) GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif") GUISetState() _IENavigate ($oIE, "http://yayin.damarfm.com:8080/") AdlibRegister("_enter", 3000) While 1 $msg = GUIGetMsg() Select Case $msg = $GUI_EVENT_CLOSE ExitLoop EndSelect WEnd GUIDelete() Exit func _enter() _IEAction($oIE, "refresh") $Label1 = GUICtrlCreateLabel("@mesale0077", 445, 240, 136, 28) GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif") endfunc Edited August 4, 2013 by mesale0077 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.