Спарсить кусок текста

Тема в разделе "PHP", создана пользователем 3axap, 13 ноя 2014.

  1. 3axap

    3axap

    Регистрация:
    9 ноя 2014
    Сообщения:
    3
    Симпатии:
    0
    Подскажите пощалуйста как спарсить значение "Threat Rating" как указано на картинке. Никогда подобного не делал и незнаю с какой стороны подходить. Может линк на кусок кода кто подбросит. Спасибо.

    [​IMG]
     
  2. $iD

    $iD Команда форума

    Регистрация:
    13 мар 2012
    Сообщения:
    3.580
    Симпатии:
    1.482
    Можно использовать symfony dom crawler.

    или же на нэйтив php через DomDocument.
     
    3axap нравится это.
  3. 3axap

    3axap

    Регистрация:
    9 ноя 2014
    Сообщения:
    3
    Симпатии:
    0
    Я не могу догнать как обойти следующее - в тексте который возвращает приведенный код того что мне надо а именно "Threat Rating" нет.
    Или они защищаются от скрапинга или я чтото не так делаю.
    Что поправить надо?

    PHP:
    <?php
    function get_data($url) {
      
    $curl curl_init();

       
    $header[0] = "Accept: text/xml,application/xml,application/xhtml+xml,";
       
    $header[0] .= "text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5";
       
    $header[] = "Cache-Control: max-age=0";
       
    $header[] = "Connection: keep-alive";
       
    $header[] = "Keep-Alive: 300";
       
    $header[] = "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7";
       
    $header[] = "Accept-Language: en-us,en;q=0.5";
       
    $header[] = "Pragma: ";

       
    curl_setopt($curlCURLOPT_URL$url);
       
    curl_setopt($curlCURLOPT_USERAGENT'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/33.6.3');
       
    curl_setopt($curlCURLOPT_HTTPHEADER$header);
       
    curl_setopt($curlCURLOPT_REFERER'https://www.google.com');
       
    curl_setopt($curlCURLOPT_ENCODING'gzip,deflate');
       
    curl_setopt($curlCURLOPT_AUTOREFERERtrue);
       
    curl_setopt($curlCURLOPT_RETURNTRANSFER1);
       
    curl_setopt($curlCURLOPT_TIMEOUT10);

       
    $html curl_exec($curl);
       if (!
    $html)
       {
         echo 
    "cURL error number:" .curl_errno($ch);
         echo 
    "cURL error:" curl_error($ch);
         exit;
       }

       
    curl_close($curl);
       return 
    $html;
    }

    //$page = file_get_contents('http://www.projecthoneypot.org/ip_62.162.245.250', FILE_TEXT, NULL, 0, 10000); //download just first 10000 symbols
    $page get_data('http://www.projecthoneypot.org/ip_62.162.245.250');
    echo 
    $page;
    ?>
    --- Добавлено, 13 ноя 2014 ---
    Оказалось я тупил... Чтоб увидеть "Threat Rating" надо залогиниться.
     
    Последнее редактирование: 13 ноя 2014
  4. $iD

    $iD Команда форума

    Регистрация:
    13 мар 2012
    Сообщения:
    3.580
    Симпатии:
    1.482
    я вот, вообще не вижу там Threat Rating, может нужно быть залогиненым?
     
  5. 3axap

    3axap

    Регистрация:
    9 ноя 2014
    Сообщения:
    3
    Симпатии:
    0
    Да надо логиниться. Эт я ступил.