• 20-05-2013, 10:09:21
    #1
    Selamlar arkadaşlar, kendime basit bir bot yapma çabasındayım. Ancak aklıma takılan bir soru oldu. Sitedeki javascript kodu içine yazılmış video linkini nasıl çekmem lazım.

    kodlar örneğin bu

    <script type="text/javascript">
    		//main configuration
    		var playerMainConfig = {
    			flashplayer: "/player.swf",
    			file: "http://content4.videarn.com/eWosYZh%252FqncsmmjUNOTq5ONbMah2Bbt2Go9lrao0GNXfkr0UIExxOKL%252BvjLDQ%252FJBrnqj4n7TUZfdjo3J2QKoLPfmxUJzdhZL9ydCni8KjhkolFVIv2ag%252FjWkQ3pjyUYE/1979783.mp4",
    			image: "http://thumbs.videarn.com/640x480/20052013/19797831640x480.jpg",
    			provider: 'http',
    			width: "100%",
    			height: 480,
    			controlbar: 'bottom',
    	                wmode: 'transparent',
    			events: {
    				onPlay: function(e) {
    					if (e.oldstate == "BUFFERING")
    						$("#bottomAd").slideDown();	//show bottom ad
    					else
    						$("#pauseAd").fadeOut();	//hide pause ad
    				},
    				onPause: function(e) {
    					//show pause ad
    					$("#pauseAd").fadeIn();
    					$("#pauseAd").css('left', $("#player").position().left + Math.round($("#player").width()/2 - $("#pauseAd").width()/2));
    					$("#pauseAd").css('top', $("#player").position().top + Math.round($("#player").height()/2 - $("#pauseAd").height()/2));
    				}
    		  }
    
    		};
    	</script>
    burada video linkini ve resmi çekmem lazım. Ancak araştırmalarımda title div tagları gibi şeylerin çekimlerini göstermişler. Javascript içindeki kodlarda farklı ne yapılıyor onu merak ediyorum.
  • 20-05-2013, 13:24:47
    #2
    $baglan = file_get_contents("siteadi.com");
    preg_match_all('#<script>(.*?)</script>#s', $baglan, $cikar);
    Not: $cikar degişkeninin 1. alanında oldugunu war sayalim
    preg_match_all("#file='(.*?)'#s", $cikar[1][0], $cikarfile);
    preg_match_all("#image='(.*?)'#s", $cikar[1][0], $cikarimage);
    
    echo $cikarfile[1][0]."----------".$cikarimage[1][0];
    ben olsam böyle bir mantikla yapardim. once javascript olan alanı meydana cikartir sonra o alan icindeki kismi parcalardim. böyle bir mantikla yapabilirsin. Ancak baska bir yerde file ve image kullanılmıyor ise direk ilk aşamayı atlayip 2 den baslayabilirsin. kolay gelsin.
  • 20-05-2013, 14:51:50
    #3
    peki hocam bu yöntem ile o sayfadaki bütün <script></script> tagları arasını almazmı? yani sayfada bi tane script tagı yok. Bi kaç tane var. Hangi script tagını alacğımı nasıl belirlemem gerekir?
  • 20-05-2013, 23:53:20
    #4
    hocam bak zaten kodlara anlayacaksın, o söylediğini de yazdiktan sonra bot bitmiş oluyor zaten yazamiyorsan söyle, ver adresi yazivereyim..
  • 21-05-2013, 00:06:20
    #5
    böyle nokta atışı çekilecek şeyler oldu mu preg_match kullanmaya gerek kalmayabilir.

    $video = explode('file: "',$sayfaicerigi);
    $video = explode('"',$video[1]);
    $video =  $video[0];
    echo $video;
  • 21-05-2013, 10:30:37
    #6
    digiklan adlı üyeden alıntı: mesajı görüntüle
    böyle nokta atışı çekilecek şeyler oldu mu preg_match kullanmaya gerek kalmayabilir.

    $video = explode('file: "',$sayfaicerigi);
    $video = explode('"',$video[1]);
    $video =  $video[0];
    echo $video;
    teşekkür ediyorum hocam. bilgi saklamadan açık açık ne yapmam gerektiğini yazmışsın. saolasın.