Парсинг базы

Тема в разделе "Коммерческие", создана пользователем Koreec2222, 24 июн 2011.

Информация :
Публиковать (для всех) нуленые версии, особенно от modulesgarden КАТЕГОРИЧЕСКИ не стоит. Тема мониторится оным разработчиком, а к нам приходят абузы которые нельзя игнорировать.
Статус темы:
Закрыта.
Модераторы: Amazko, Aste
  1. Koreec2222

    Koreec2222 Постоялец

    Регистр.:
    20 фев 2010
    Сообщения:
    69
    Симпатии:
    1
    добрый вечер, мне написали вот такой вот скрипт :
    <form method="POST">
    <form name="cauntry" >
    email:<input type="text" name="email" value="idiotakysok73@mail.ru"><br> <br>
    pass:<input type="text" name="pass" value="flashget23"><br> <br>

    <input type=submit value="ПОЕХАЛИ!!!">

    </form>
    </html>
    <?php
    // (с) Kusto
    set_time_limit(0);
    function curl($url,$post)
    {
    $cfile = 'cookies.txt';
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
    curl_setopt($ch, CURLOPT_COOKIEJAR, $cfile);
    curl_setopt($ch, CURLOPT_COOKIEFILE, $cfile);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_POST, 1);
    $result = curl_exec($ch);

    curl_close($ch);
    return $result;
    };

    $email = $_POST['email'];
    $pass = $_POST['pass'];
    $cauntry =$_POST['cauntry'];

    if(!$email||!$pass){ echo "Введите данные"; exit(); }
    else
    {
    $arraw= explode("@", $email);
    $login= $arraw[0];
    $domain=$arraw[1];
    $result = curl("http://win.mail.ru/cgi-bin/auth", "Login=".$login."&Domain=".$domain."&Password=".$p ass);
    if (strstr($result, "id-folder-name"))
    {
    echo "Парсим</br>";
    }
    else
    {
    echo "Неправильные логин и пароль"; exit();
    }
    $a=fopen("mail.txt","a+" );
    $count=0;
    for($gg=0; $gg<8; $gg++)
    {
    $arr = array();
    for($page=1; $page<=30; $page++)
    {
    $result = curl("http://my.mail.ru/my/search_people?","e=,2,".$gg.",,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,3437,,,1&p=".$page);
    $result = explode("\n", $result);
    for($i=0; $i<count($result); $i++)
    {
    if(strstr($result[$i], 'href="http://my.mail.ru/my/dialogues?thread='))
    $vv = substr(substr($result[$i], strpos($result[$i], 'href="http://my.mail.ru/my/dialogues?thread=')+44, 50), 0, strpos(substr($result[$i], strpos($result[$i], 'href="http://my.mail.ru/my/dialogues?thread=')+44, 50), '&from'));
    if(trim($vv) != "") $arr[] = trim($vv);
    }

    $count++;
    }
    $arr = array_unique($arr);
    foreach($arr as $val)
    {
    fwrite($a,$val."\r\n");
    }
    }
    for($gg=0; $gg<8; $gg++)
    {
    $arr = array();
    for($page=1; $page<=30; $page++)
    {
    $result = curl("http://my.mail.ru/my/search_people?","e=,1,".$gg.",,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,3437,,,1&p=".$page);
    $result = explode("\n", $result);
    for($i=0; $i<count($result); $i++)
    {
    if(strstr($result[$i], 'href="http://my.mail.ru/my/dialogues?thread='))
    $vv = substr(substr($result[$i], strpos($result[$i], 'href="http://my.mail.ru/my/dialogues?thread=')+44, 50), 0, strpos(substr($result[$i], strpos($result[$i], 'href="http://my.mail.ru/my/dialogues?thread=')+44, 50), '&from'));
    if(trim($vv) != "") $arr[] = trim($vv);
    }

    $count++;
    }
    $arr = array_unique($arr);
    foreach($arr as $val)
    {
    fwrite($a,$val."\r\n");
    }
    }

    }
    fclose($a);
    $page = $page-1;
    echo "всё";

    ?>

    Он парсит проект Мой Мир на mail.ru В итоге получается файл с e-mail пользователей, настроен сейчас на поиск по Санкт-Петербургу. Хотелось бы его доработать, ну например чтоб можно было парсить сразу с нескольких (скажем с 200 аккаунтов). принцип парсинга такой: Он через поиск людей выбирает город Санкт-Петербург, а далее в фильтры добавляет различные параметры что бы в итоге выпало не более 600 пользователей (т.к. проект Мой Мир позволяет просмотреть по одному поисковому запросу не более 600 человек (30 страниц по 20 человек)). Если есть желающие давайте его доработаем. думаю многим пригодиться.

    P.S. Просьба не выкладывать его в паблик.
     
  2. zzallexx

    zzallexx

    Регистр.:
    11 июн 2008
    Сообщения:
    1.036
    Симпатии:
    699
    а смысл парсить с нескольких акков? Я посмотрел поиск там не завязан на аккаунт и выдача для всех будет одинаковая и зависит только от параметров которые в этом скрипте уже использованы и реализованы. Или вы просто хотите ускорить процесс?
     
  3. Koreec2222

    Koreec2222 Постоялец

    Регистр.:
    20 фев 2010
    Сообщения:
    69
    Симпатии:
    1
    Да, ускорить процесс. Плюс к этому нужно работать через прокси иначе быстро банят ip. Я успел до бана собрать 100к мыл и все, получил бан.
     
  4. mcdir

    mcdir

    Регистр.:
    6 ноя 2007
    Сообщения:
    202
    Симпатии:
    37
    вот такую штуку купи и радуйся
    https://www.nulled.cc/showthread.php?t=211635
     
Статус темы:
Закрыта.