Google keyword grabber

Discussion in 'PHP' started by Exgibichi, 4 May 2009.

  1. Exgibichi

    Exgibichi New Member

    Joined:
    7 Jul 2008
    Messages:
    6
    Likes Received:
    2
    Reputations:
    0
    накодил вчера тулзу, решил поделиться, думаю сеошники оценят. Ах да тулза грабит похожие кейворды из гугла.

    upd добавил фильтр на наличее кея в фразе

    PHP:
    <?php
    /* 

    |  Google keyword grabber
    |  C0d3d by Exgibichi 
    |  3/05/09

    */ 
    error_reporting(0);
    set_time_limit(1000);

    if(!
    $_POST['key']) {

    echo 
    '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >
          <div style="margin:20%">
          <form action="" method="POST">
          <input type="text" name="key" value="viagra">
          Level: 
          <input type="text" name="n" value="2" size="3"><br/><br/>
          <input type="submit" value="Go">
          </form>
          </div>'
    ;

    } else {

      if(!
    $_POST['n']) { $n 2; } else { $n $_POST['n']; }
      
      echo 
    '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >';
      echo 
    '<b>key:</b> '.$_POST['key'].' ';
      echo 
    '<b>level:</b> '.$n.' ';
      
    $startkey $_POST['key'];
      
    $k keygrab($startkey);
      
    $rx kgr($k$n);
      
    $rx array_unique($rx);
      
    $cx count($rx);
      echo 
    '<b>key grabbed:</b> '.$cx.'<br/><br/>';
      
      foreach(
    $rx as $bx) {

        
    $bx str_replace('+'' '$bx);
        echo 
    $bx.'<br/>';
      }
    }

    function 
    keygrab($firstkey) {

      global 
    $startkey;
      
      
    $firstkey str_replace(' ','+',$firstkey);  
      
    $url 'http://www.google.com/search?q='.urlencode($firstkey); 
      
    $file file_get_contents($url) or die('Could not access file'); 
      
    $exp "<a\s[^>]*href=(\"??)([^\" >]*?)\\1[^>]*>(.*)<\/a>"

      if(
    preg_match_all("/$exp/siU"$file$matchesPREG_SET_ORDER)) { 
      
        foreach(
    $matches as $m) {
        
          if(
    strstr($m[2],'/search?hl') && !strstr($m[2],'http') && !strstr($m[2],'related')) {
          
            
    preg_match('/&q=(.*)&revid/',$m[2],$rx);
            
            if(
    strstr($rx[1],'%') && strstr($rx[1], $startkey)) {
            
              
    $keys[] = urldecode($rx[1]);
              
            } elseif(
    strstr($rx[1], $startkey)) {
            
              
    $keys[] = $rx[1];
            }
          }
        }
      }  return 
    $keys;
    }

    function 
    dar2sar($array) { 

     for (
    $i=0$i<count($array); $i++) {
      
        for (
    $j=0$j<count($array[$i]); $j++) {
              
            
    $s[] = $array[$i][$j];
        }
      } return 
    $s;
    }

    function 
    Clean_null_keys($array) { 

      foreach (
    $array as $m) { 
      
        if (!
    $m == '') {
          
    $t[] = $m;
        }
      } return 
    $t;
    }

    function 
    kgr($sarx$n) {

      if(
    $n == 0){ return $sarx; }

      foreach(
    $sarx as $ax){
        
        if(
    $ax) {
          
    $cx[] = keygrab($ax);
        }
      }
      
    $cx Clean_null_keys($cx);
      
    $cx dar2sar($cx);
      
    $cx Clean_null_keys($cx);
      
    $n--;
      return 
    kgr($cx$n);
    }
    ?>
     
    #1 Exgibichi, 4 May 2009
    Last edited: 4 May 2009
    1 person likes this.
  2. Alexsize

    Alexsize Fail

    Joined:
    17 Sep 2005
    Messages:
    1,771
    Likes Received:
    1,221
    Reputations:
    704
    Щас оценим.


    arginmax
    fematril
    zestra for women
    l-arginine


    1) вот этого по кею виагра быть не должно.
    2) скинь в ПМ асю, объясню что там еще должно быть)
     
    #2 Alexsize, 4 May 2009
    Last edited: 4 May 2009
  3. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    http://forum.antichat.ru/thread107524.html
     
    _________________________
    1 person likes this.