[Ищу] Перестал работать парсер ключевых слов из megaindex

Тема в разделе "SEO Скрипты", создана пользователем Webnic, 7 янв 2012.

  1. Webnic

    Webnic Писатель

    Регистр.:
    7 июн 2011
    Сообщения:
    6
    Симпатии:
    0
    Вот парсер:


    <?php

    function get_web_page( $url )
    {
    $uagent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)";

    $ch = curl_init( $url );
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // возвращает веб-страницу
    curl_setopt($ch, CURLOPT_HEADER, 0); // не возвращает заголовки
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // переходит по редиректам
    curl_setopt($ch, CURLOPT_ENCODING, ""); // обрабатывает все кодировки
    curl_setopt($ch, CURLOPT_USERAGENT, $uagent); // useragent
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 120); // таймаут соединения
    curl_setopt($ch, CURLOPT_TIMEOUT, 120); // таймаут ответа
    curl_setopt($ch, CURLOPT_MAXREDIRS, 10); // останавливаться после 10-ого редиректа
    curl_setopt($ch, CURLOPT_COOKIEJAR, "coo.txt");
    curl_setopt($ch, CURLOPT_COOKIEFILE,"coo.txt");

    $content = curl_exec( $ch );
    $err = curl_errno( $ch );
    $errmsg = curl_error( $ch );
    $header = curl_getinfo( $ch );
    curl_close( $ch );

    $header['errno'] = $err;
    $header['errmsg'] = $errmsg;
    $header['content'] = $content;
    return $header;
    }

    function post_content ($url,$postdata) {
    $uagent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)";

    $ch = curl_init( $url );
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_ENCODING, "");
    curl_setopt($ch, CURLOPT_USERAGENT, $uagent); // useragent
    curl_setopt($ch, CURLOPT_TIMEOUT, 120);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
    curl_setopt($ch, CURLOPT_COOKIEJAR, "coo.txt");
    curl_setopt($ch, CURLOPT_COOKIEFILE,"coo.txt");

    $content = curl_exec( $ch );
    $err = curl_errno( $ch );
    $errmsg = curl_error( $ch );
    $header = curl_getinfo( $ch );
    curl_close( $ch );

    $header['errno'] = $err;
    $header['errmsg'] = $errmsg;
    $header['content'] = $content;
    return $header;
    }

    $url = 'Перейти по ссылке
    $username = 'ahremenko-a@yandex.ru';
    $userpass = 'megaindex22101982';
    // формируем строку с данными
    $postdata = 'email_address='.$username.'&password='.$userpass.'&login_memo=1';

    $result = post_content( $url, $postdata );
    $html = $result['content'];

    //перебираем домены

    $data = file("select.txt");
    $total = count($data);
    for($i=0;$i<$total;$i++) {

    // загружаем любую другую страницу
    //sleep(3);

    $url = $data[$i];
    $result = get_web_page( $url );
    $html = $result['content'];
    //echo 'Авторизация прошла успешно';
    //echo "$url";
    //echo "$html";

    /////////////////////////////////////////////////
    //Настройки парсера

    $count=preg_match_all('~<a.*?href="\?tab=wordAnalyze&word([^"]+)".*?>(.*?)</a>~s', $html, $matches);
    echo "$i.$url<br />$count<br /><br />";
    // else echo("пусто<br /><br />");

    //sleep(3);
    for($cn=0; $cn<$count; $cn++)
    {
    // $link = htmlspecialchars($matches[0][$i]);
    // $href = htmlspecialchars($matches[1][$i]);
    $ancor = htmlspecialchars($matches[2][$cn]);
    // echo "{$link}<br />";
    // echo "{$href}<br />";
    echo "$cn.$ancor<br /><br />";

    $fp = fopen('article.txt', 'a');

    //Записываем код в файл
    fwrite($fp, nl2br($ancor)."\n");

    //Закрываем файл
    fclose($fp);

    }
    //sleep(3);
    //print_r($matches);
    }

    ?>

    Его задача перебрать домены из файла select.txt и записать ключевики по ним в файл article.txt, домены перебираются но результат по ключевикам 0 (и в файл ничего не записывается), раньше нормально все работало, похоже структура сайта немного изменилась.
    Самому подправить код не удается, знаний не хватает, если кто сможет помочь, буду очень благодарен.
     

    Вложения:

    • select.txt
      Размер файла:
      1,6 КБ
      Просмотров:
      12
  2. zzallexx

    zzallexx

    Регистр.:
    11 июн 2008
    Сообщения:
    1.037
    Симпатии:
    702
    да вроде все правильно там(так на вскидку должно работать) ты пробелы убери в select.txt перед доменом ато у тебя так
    а надо
     
  3. Webnic

    Webnic Писатель

    Регистр.:
    7 июн 2011
    Сообщения:
    6
    Симпатии:
    0
    Спасибо большое, пробелы убрал, все работает, видимо скрипт который выдерает домены, непривышающие по количеству заданное число ключевиков, както криво сработал.
     
  4. mr-graffity

    mr-graffity

    Регистр.:
    29 июл 2010
    Сообщения:
    163
    Симпатии:
    38
    Опять мой код............
    САНЯ!!!
    Ну ты даешь............ тыж книжку про php прочитал ))))))