• 31-03-2010, 12:53:52
    #1
    Merhaba bot yapıyorum sayfada istediğim çoğu şeyi çektim fakat bir yerde takıldım.

    <table width="100%" border="0" cellspacing="0" cellpadding="7" class="b-anketa-about-me"> 
        <tr> 
          <td><span class="bl5">&nbsp;Başlık&nbsp;</span></td> 
        </tr> 
        <tr valign="top"> 
          <td><i>içerik<br /> 
    içerik</i></td> 
        </tr> 
        </table>
    Böyle bir yerde içerik kısmını alacağım ama çekemiyorum.
    İçerik kısmı her zaman böyle olmayabiliyor.
    içerki<br> 
    içerik
    Bazen tek satır bazen 3-5 satır olabilir.
  • 31-03-2010, 14:01:51
    #2
    Üyeliği durduruldu
    <tr valing="top">
    <td>
    (.*?)
    </td> araliginimi aliyorsun?
  • 31-03-2010, 14:07:31
    #3
    evet fakat
    <table width="100%" border="0" cellspacing="0" cellpadding="7" class="b-anketa-about-me"> 
        <tr> 
          <td><span class="bl5">&nbsp;Başlık&nbsp;</span></td> 
        </tr> 
        <tr valign="top"> 
          <td><i>(.*?)</i></td> 
        </tr> 
        </table>
    böyle almam gerek çünkü o şekil sayfada çok kod vardır.
  • 31-03-2010, 14:41:28
    #4
    Üyeliği durduruldu
    Hocam span Dan al Geri Id ye str replace yap. Yada bana site adresini ver istegin araligin tam kodlarini deneyerek yaparim
  • 31-03-2010, 16:23:17
    #5
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Bu koddan her sayfada bir tane olacağı için preg_match_all kullanamaya gerek yok. preg_match işinizi görür.

    <?php
    $site = '<table width="100%" border="0" cellspacing="0" cellpadding="7" class="b-anketa-about-me"> 
        <tr> 
          <td><span class="bl5">&nbsp;Başlık&nbsp;</span></td> 
        </tr> 
        <tr valign="top"> 
          <td><i>içerik<br /> 
    içerik</i></td> 
        </tr> 
        </table>';
    
    $icerik = preg_match('~<td><i>(.*?)<\/i><\/td>~s', $site, $match) ? $match[1] : 'İçerik alınamadı';
    echo $icerik;
    ?>
  • 31-03-2010, 19:30:03
    #6
    sayfada o şekilde çok kod varsa önce
    <table width="100%" border="0" cellspacing="0" cellpadding="7" class="b-anketa-about-me">(.*?)</table> aralığını alıp $av0 gibi bir değişkene ata, sonra şu kod istediğin kısmı $av1 değişkenine ata

    $icerik = preg_match('#<td><i>(.*?)</i></td>#si',$av0[1],$av1);
  • 31-03-2010, 19:54:18
    #7
    Üyeliği durduruldu
    <?
    $url="http://mamba.ru/omar198356/";
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_REFERER, "http://www.google.com/");
    curl_setopt($ch, CURLOPT_USERAGENT, "MozillaXYZ/1.0");
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    $cekim = curl_exec($ch);
    curl_close($ch);
    preg_match("/\<td\>\<i\>(.*?)\<\/i\>\<\/td\>/smi",$cekim, $webscripti);
    echo "$webscripti[1]";
    ?>
    denedim çalıştı hocam..