Location: PHPKode > scripts > Google File Finder > library/class.surf.php
<?
// by Diego Garrido de Almeida
// hide@address.com

abstract class Surf{
         const SEARCH_PATTERN  = 'http://www.google.com.br/search?hl=pt-BR&q=site:#DOMAIN#+#QUERY#&start=#OFFSET#';

         private $query, $domain;

         public function __construct($query){
                $this->setQuery($query);
         }
         
         public function getQuery(){
                return urlencode(str_replace('+', ' ', $this->query));
         }
         
         public function setQuery($query){
                $this->query = $query;
         }
         
         public function getDomain(){
                return $this->domain;
         }
         
         public function setDomain($domain){
                $this->domain = $domain;
         }
         
         public function getSearchUrl($page){
                $pattern = array();
                $pattern['#DOMAIN#'] = $this->getDomain();
                $pattern['#QUERY#'] = $this->getQuery();
                $pattern['#OFFSET#'] = ($page-1)*10;
                
                return str_replace(array_keys($pattern), array_values($pattern), self::SEARCH_PATTERN);
         }
         
         public function getField($row){
                $dsc = $row->getElementsByTagName('div');

                $field = null;

                foreach($dsc as $line){
                        if($line->getAttribute('class') == 's'){
                           $field = $line;
                           continue;
                        }
                }

                return $field;
         }
         
         public function performSearch($page = 1){
                // result Object
                $search = new stdClass();

                $file = file_get_contents($this->getSearchUrl($page));
                
                // html DOM
                $doc = new DOMDocument();
                @$doc->loadHTML($file);
                
                // results verify
                if(!$container = $doc->getElementByID('ires'))
                   return false;
                
                $found = $container->getElementsByTagName('li');
                
                $results = array();
                
                foreach($found as $row){
                        if($row->getAttribute('class') == 'g'){
                           $file = $this->stripFile($row);
                           if(strlen(trim($file->name)) > 0)
                              $results[] = $this->stripFile($row);
                        }
                }
                
                $search->results = $results;
                
                // get total pages
                $navegation = $doc->getElementByID('nav');
                $item = $navegation->getElementsByTagName('td')->length - 2;
                $search->totalPages = $navegation->getElementsByTagName('td')->item($item)->nodeValue;
                $search->page = $page;
                
                return $search;
         }
}
?>
Return current item: Google File Finder