• 24-01-2019, 17:57:03
    #1
    Arkadaşlar videolara bakarak bir siteden veri çekmeye çalıştım işime yaradı .bana sadece başlık frame linki, açıklama ve resim linki istediğim şekilde getirdi veritabanına vs. eklemeyeceğim bundan sonrasını manuel yapacağım.

    Kod aşağıdaki gibi oldukça amatör Fakat işimi görüyor mu görüyor

    Bu kodun üstüne bir text kutusu koyup entera basıldığında https://siteadresi.com/icerik.html yerine bu kutuya yazdığım linkten veriyi getirsin istiyorum. Yardımcı olma imkanınız varsa sevinirim.

    <b><br><br>iFrame<br><br></b>

    <?php
    $veri=file_get_contents('https://siteadresi.com/icerik.html');
    preg_match_all('@iframe (.*?)</iframe>@si',$veri,$baslik);
    echo $baslik[0][0];
    ?>

    <b><br><br>Başlıklar<br><br></b>
    <?php
    $veri=file_get_contents('https://siteadresi.com/icerik.html');
    preg_match_all('@<h1>(.*?)</span>@si',$veri,$baslik);
    echo $baslik[0][0];
    ?>

    <b><br><br>Resim<br><br></b>

    <?php
    $veri=file_get_contents('https://siteadresi.com/icerik.html');
    preg_match_all('@src" href="(.*?)/>@si',$veri,$baslik);
    echo $baslik[0][0];
    ?>


    <b><br><br>Açıklama<br><br></b>

    <?php
    $veri=file_get_contents('https://siteadresi.com/icerik.html');
    preg_match_all('@<div class="metin">(.*?)</div>@si',$veri,$baslik);
    echo $baslik[0][0];
    ?>
  • 24-01-2019, 18:02:40
    #2
    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>Document</title>
    </head>
    <body>
    
    <form action="">
    <input type="text" name="website">
    <input type="submit">
    </form>
    <?php
    if($_POST):
    $website = isset($_POST['website']) ? $_POST['website'] : false;
    if($website):
    ?>
    <b><br><br>iFrame<br><br></b>
     
    <?php
    $veri=file_get_contents($website);
    preg_match_all('<span class="userTag">@iframe (.*?)<</span>/iframe><span class="userTag"><span class="userTag"><span class="userTag"><span class="userTag">@si',$veri,$baslik);</span></span></span></span>
    echo $baslik[0][0];
    ?>
     
    <b><br><br>Başlıklar<br><br></b>
    <?php
    $veri=file_get_contents($website);
    preg_match_all('<span class="userTag"><span class="userTag">@<</span></span>h1>(.*?)</span><span class="userTag"><span class="userTag"><span class="userTag"><span class="userTag">@si',$veri,$baslik);</span></span></span></span>
    echo $baslik[0][0];
    ?>
     
    <b><br><br>Resim<br><br></b>
     
    <?php
    $veri=file_get_contents($website);
    preg_match_all('<span class="userTag">@src"</span> href="(.*?)/><span class="userTag"><span class="userTag"><span class="userTag"><span class="userTag">@si',$veri,$baslik);</span></span></span></span>
    echo $baslik[0][0];
    ?>
     
     
    <b><br><br>Açıklama<br><br></b>
     
    <?php
    $veri=file_get_contents($website);
    preg_match_all('<span class="userTag"><span class="userTag">@<</span></span>div class="metin">(.*?)</div><span class="userTag"><span class="userTag"><span class="userTag"><span class="userTag">@si',$veri,$baslik);</span></span></span></span>
    echo $baslik[0][0];
    ?>
    <?php endif; endif; ?>
    
    </body>
    </html>




    Kodlar r10 ya da cloudflare tarafından bozuluyor, senin kodlarını düzenlemen gerekir.
  • 25-01-2019, 08:51:01
    #3
    bayGaReZ adlı üyeden alıntı: mesajı görüntüle
    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>Document</title>
    </head>
    <body>
    
    <form action="">
    <input type="text" name="website">
    <input type="submit">
    </form>
    <?php
    if($_POST):
    $website = isset($_POST['website']) ? $_POST['website'] : false;
    if($website):
    ?>
    <b><br><br>iFrame<br><br></b>
     
    <?php
    $veri=file_get_contents($website);
    preg_match_all('<span class="userTag">@iframe (.*?)<</span>/iframe><span class="userTag"><span class="userTag"><span class="userTag"><span class="userTag">@si',$veri,$baslik);</span></span></span></span>
    echo $baslik[0][0];
    ?>
     
    <b><br><br>Başlıklar<br><br></b>
    <?php
    $veri=file_get_contents($website);
    preg_match_all('<span class="userTag"><span class="userTag">@<</span></span>h1>(.*?)</span><span class="userTag"><span class="userTag"><span class="userTag"><span class="userTag">@si',$veri,$baslik);</span></span></span></span>
    echo $baslik[0][0];
    ?>
     
    <b><br><br>Resim<br><br></b>
     
    <?php
    $veri=file_get_contents($website);
    preg_match_all('<span class="userTag">@src"</span> href="(.*?)/><span class="userTag"><span class="userTag"><span class="userTag"><span class="userTag">@si',$veri,$baslik);</span></span></span></span>
    echo $baslik[0][0];
    ?>
     
     
    <b><br><br>Açıklama<br><br></b>
     
    <?php
    $veri=file_get_contents($website);
    preg_match_all('<span class="userTag"><span class="userTag">@<</span></span>div class="metin">(.*?)</div><span class="userTag"><span class="userTag"><span class="userTag"><span class="userTag">@si',$veri,$baslik);</span></span></span></span>
    echo $baslik[0][0];
    ?>
    <?php endif; endif; ?>
    
    </body>
    </html>





    Kodlar r10 ya da cloudflare tarafından bozuluyor, senin kodlarını düzenlemen gerekir.
    Çok teşekkürler. _POST ile getirmedi nedense _GET yapınca şuan sorunsuz getiriyor elinize sağlık
  • 25-01-2019, 11:37:33
    #4
    $veri=file_get_contents($website);

    neden çok kez tekrarlanmış acaba ?
  • 25-01-2019, 14:49:12
    #5
    ismoz adlı üyeden alıntı: mesajı görüntüle
    Çok teşekkürler. _POST ile getirmedi nedense _GET yapınca şuan sorunsuz getiriyor elinize sağlık
    Form html etiketinin method parametresini eklemeyi unutmuşum çünkü. Eğer forma method="post" yazarsanız sorun çözülecektir.
  • 25-01-2019, 15:35:25
    #6
    echo '<form action="" method="post">
    	<input type="text" name="site" value="site adresi">
    	<input type="submit" name="gonder">
    	</form>';
    
    	$site = $_POST['site'];
    bu şekilde sayfa başına ekleyiniz hocam daha sonra;

    $veri=file_get_contents($site);
    şeklinde düzenleyin eğer bunu kullanıcılar kullanacaksa trim, strip_tags gibi fonksiyonlarla güvenli halede getirebilirsiniz.

    örnek olarak
    $site = trim(strip_tags(stripcslashes($_POST['site'])));
    şeklinde kullanabilirsiniz.

    İyi Çalışmalar