• 12-04-2017, 22:47:00
    #1
    Merhabalar,

    Php Bot ihtiyacım oldu, internetten araştırma yaptım ve biraz yol aldım, fakat sona gelmeme rağmen tam olarak istediğim veriyi getiremedim.

    Kodlarımı aşağıda belirtiyorum. Yardımcı olabilirseniz çok memnun olurum.
    Sorgulanan kod bu; 01505149017762

    Teşekkür ederim.

    <!DOCTYPE html>
    <html>
    <head>
    	<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
    </head>
    <body>
    	<form action="index.php" method="GET">
    		<input type="text" name="kod"/>
    		<input type="submit" name="gonder" value="Gönder"/>
    	</form>
    	<?php
    	if(isset($_GET['kod'])){
    		function ara($bas, $son, $yazi)
    		{
    			@preg_match_all('/' . preg_quote($bas, '/') .
    			'(.*?)'. preg_quote($son, '/').'/i', $yazi, $m);
    			return @$m[1];
    		}
    
    		$link = "https://tracking.dpd.de/parcelstatus?locale=en_DE&query=".$_GET['kod']."&detailed=1";
    		$icerik = file_get_contents($link);
    		
    		$kod = ara('<span class="STGUI_DELIVERY_STATUS">','</span>',$icerik);
    		echo $link.'<br/>';
    		echo $kod[1];
    	}
    	
    	?>
    </body>
    </html>
    Link burası: https://tracking.dpd.de/parcelstatus...762&detailed=1

    Alınmak istenen veri burası..

  • 12-04-2017, 23:15:48
    #2
    kaynak site ajax olduğu için çekmeye izin vermiyor
  • 12-04-2017, 23:19:21
    #3
    Excel'den VBA ile DOM Parse ederek, tagları kullanarak 3 sn. gibi bir sürede istediğim tabloyu Excel'e çekebiliyorum ama bunu PHP Bot ile neden yapamıyorum anlamış değilim.

    Php Bot bunu neden yapamıyor? Bilgi amaçlı soruyorum.

    Teşekkürler.
  • 13-04-2017, 12:44:51
    #4
    MuratOSMA adlı üyeden alıntı: mesajı görüntüle
    Merhabalar,

    Php Bot ihtiyacım oldu, internetten araştırma yaptım ve biraz yol aldım, fakat sona gelmeme rağmen tam olarak istediğim veriyi getiremedim.

    Kodlarımı aşağıda belirtiyorum. Yardımcı olabilirseniz çok memnun olurum.
    Sorgulanan kod bu; 01505149017762

    Teşekkür ederim.

    <!DOCTYPE html>
    <html>
    <head>
    	<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
    </head>
    <body>
    	<form action="index.php" method="GET">
    		<input type="text" name="kod"/>
    		<input type="submit" name="gonder" value="Gönder"/>
    	</form>
    	<?php
    	if(isset($_GET['kod'])){
    		function ara($bas, $son, $yazi)
    		{
    			@preg_match_all('/' . preg_quote($bas, '/') .
    			'(.*?)'. preg_quote($son, '/').'/i', $yazi, $m);
    			return @$m[1];
    		}
    
    		$link = "https://tracking.dpd.de/parcelstatus?locale=en_DE&query=".$_GET['kod']."&detailed=1";
    		$icerik = file_get_contents($link);
    		
    		$kod = ara('<span class="STGUI_DELIVERY_STATUS">','</span>',$icerik);
    		echo $link.'<br/>';
    		echo $kod[1];
    	}
    	
    	?>
    </body>
    </html>
    Link burası: https://tracking.dpd.de/parcelstatus...762&detailed=1

    Alınmak istenen veri burası..

    Tabloya gelen veri şuradan geliyor :
    https://tracking.dpd.de/cgi-bin/simp...1492076609130=

    Buradan ayıklayabilirsin.
  • 13-04-2017, 12:47:34
    #5
    Süpersiniz.. İşte bu!
    Buradan ayıklarım dediğiniz gibi. Çok teşekkür ediyorum.
  • 14-04-2017, 10:25:34
    #6
    Selâmlar,

    Bu adresteki;
    https://tracking.dpd.de/parcelstatus...021&detailed=1
    Aşağıda belirttiğim konşimento numarasını nasıl alabilirim acaba?
    Buradan olmasa bile alabileceğimiz herhangi bir kaynak sayfasını bulabilir miyiz? Yukarıda json formatı şeklinde bir link önerilmişti, onun gibi meselâ..



    Teşekkürler.
  • 14-04-2017, 11:21:54
    #7
    MuratOSMA adlı üyeden alıntı: mesajı görüntüle
    Selâmlar,

    Bu adresteki;
    https://tracking.dpd.de/parcelstatus...021&detailed=1
    Aşağıda belirttiğim konşimento numarasını nasıl alabilirim acaba?
    Buradan olmasa bile alabileceğimiz herhangi bir kaynak sayfasını bulabilir miyiz? Yukarıda json formatı şeklinde bir link önerilmişti, onun gibi meselâ..



    Teşekkürler.
    https://tracking.dpd.de/cgi-bin/simpleTracking.cgi?matchCode=2231448021&delisId=afsall150&type=5&locale=en_DE&jsoncallback=_jqjsp&_1492158113021=
  • 14-04-2017, 11:37:34
    #8
    Ya gerçekten harikasınız İlyas Bey, dün neredeyse 5 saat bununla uğraştım.

    Excel VBA (Makro) ile html taglarını kullanarak istediğimi yapabiliyorum ama web ortamında yapmak istiyordum ki; veriler webte sorgulanıp tablo olarak bir sayfada dökülecek.. biraz araştırdım php bot diye bir şey varmış, nedir ne değildir derken, harzı örnekleri indirdim denedim, urlsini değiştirip farklı sitelerden almayı denedim başarılı oldum.. sizin anlayacağınız bu php olayına yeni giriyorum.. bazı sitelerden veri almama rağmen bazıları bot ile izin vermiyordu..(bu konuyu da araştıracağım biraz)..

    Bilirsiniz; eğer bir konu hakkında hiçbir fikriniz yoksa ilerleyemiyorsunuz ve yapmaya kalktığınızda daha en başında bir nokta hata alıyorsanız ve bilgi eksikliği yüzünden ilerleyemiyorsanız çabuk pes edip bırakabiliyorsunuz.
    Sayenizde bu işe olan hevesim arttı vallahi. Çok teşekkür ediyorum.

    Nerede nasıl buluyorsunuz bu adresleri, onu da söylemeniz mümkün mü?
  • 14-04-2017, 11:47:58
    #9
    MuratOSMA adlı üyeden alıntı: mesajı görüntüle
    Ya gerçekten harikasınız İlyas Bey, dün neredeyse 5 saat bununla uğraştım.

    Excel VBA (Makro) ile html taglarını kullanarak istediğimi yapabiliyorum ama web ortamında yapmak istiyordum ki; veriler webte sorgulanıp tablo olarak bir sayfada dökülecek.. biraz araştırdım php bot diye bir şey varmış, nedir ne değildir derken, harzı örnekleri indirdim denedim, urlsini değiştirip farklı sitelerden almayı denedim başarılı oldum.. sizin anlayacağınız bu php olayına yeni giriyorum.. bazı sitelerden veri almama rağmen bazıları bot ile izin vermiyordu..(bu konuyu da araştıracağım biraz)..

    Bilirsiniz; eğer bir konu hakkında hiçbir fikriniz yoksa ilerleyemiyorsunuz ve yapmaya kalktığınızda daha en başında bir nokta hata alıyorsanız ve bilgi eksikliği yüzünden ilerleyemiyorsanız çabuk pes edip bırakabiliyorsunuz.
    Sayenizde bu işe olan hevesim arttı vallahi. Çok teşekkür ediyorum.

    Nerede nasıl buluyorsunuz bu adresleri, onu da söylemeniz mümkün mü?
    Bot yazarken dikkatle kullanmanız gereken araçlar:

    1. Tarayıcınız'ın developer modu. Chrome, Yandex, Mozilla gibi tarayıcıların geliştirici modları bulunur. Bu modu F12 ile açabilir, kapatabilirsiniz. Bu mod bir çok işe yarıyor, öğrendikçe ne kadar faydalı olduğunu göreceksiniz. Siz o veriyi yükleyen linki kodlar içerisinde ararken, tarayıcıların geliştirici modu, bir sayfa yüklenirken kaç tane istek yapılmış, isteklerin türleri neler, hangi urllerden istek yapılmış hepsini gösteriyor.
    2. cUrl modülünü çok iyi araştırıp öğrenmelisiniz. Bot yazımına izin vermeyen bir çok sistemin kolayca geçilebildiğini göreceksiniz.
    3. http protokolü, hata kodları, ve header üst bilgilerini kullanmayı öğrenmelisiniz. Tarayıcı dili, versiyonu ve cookielerin gönderimi için kullanılıyor. (botları engellemek üzre alınan önlemler bu bilgiler kontrol edilirken yapılıyor.)
    4. Cookie kullanımı, sitelerin bot engeli konusunda kullandığı bir diğer yöntemden biri olduğundan bunu kullanmayı ne kadar iyi bilirseniz o kadar kolay koruma sisteminden geçebilirsiniz.