We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 15659
    • 13 Posts
    господа, нуждаюсь в парсере, нашел пример
    <?php
    ini_set('max_execution_time', '0');  
    error_reporting(E_ALL);  
      
    define('URL', 'http://yandex.ru/yandsearch?text=медведев');  
      
    require('phpQuery.php');  
      
    $results_page = get_xml_page(URL);  
    $results = phpQuery::newDocument($results_page);  
    $elements = $results->find('ol.results > li');  
      
    $info = array();  
      
    foreach ($elements as $element){  
      
     $title = pq($element)->find('div.title > a');  
     $title = pq($title)->text();  
     $descr = pq($element)->find('div.text > span');  
     $descr = pq($descr)->text();  
     $link_text = pq($element)->find('div.info:first > span');  
     $link_text = pq($link_text)->text();  
     $link_text = explode('•', $link_text);  
     $link = trim($link_text[0]);  
     $info[] = array('title' => $title, 'descr' => $descr, 'link' => $link);  
      
    }  
      
    print_r($info);  
      
    function get_xml_page($url) {  
      
     $ch = curl_init($url);  
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  
     $page = curl_exec($ch);  
     curl_close($ch);  
     return $page;  
      
    }
    ?>


    вставляю его в сниппет выдает ошибку
    « MODx Parse Error »MODx encountered the following error while attempting to parse the requested resource:
    « PHP Parse Error »

    PHP error debug
    Error: require(phpQuery.php) [function.require]: failed to open stream: No such file or directory
    Error type/ Nr.: Warning - 2
    File: /home/k/kentastik/***********/public_html/manager/includes/document.parser.class.inc.php(769) : eval()’d code
    Line: 8

    Parser timing
    MySQL: 0.0033 s (4 Requests)
    PHP: 0.0385 s
    Total: 0.0418 s

    собственно вопрос оно должно работать или надо править код каким то образом?
      • 32725
      • 107 Posts
      ээ.. а вы хоть пытались понять, как этот код работает? smiley
      8-я строчка. require(’phpQuery.php’); - это подключение внешнего файла phpQuery.php из текущей директории. У вас такого файла в папке нет. Все smiley
        My portfolio
        Самурай без меча подобен самураю с мечом, только без меча.
        • 15659
        • 13 Posts
        если бы я что-то понимал в пхп врят ли бы спросил smiley
          • 32725
          • 107 Posts
          Понятно smiley
          На сколько я понимаю, phpQuery - это вот эта штуковина: http://code.google.com/p/phpquery/ т.е. собственно парсер, а ваш код просто юзает этот парсер и говорит ему парсить яндекс.
          Чтобы код заработал, скачайте парсер по ссылке на гугле, закиньте его куда-нибуть на сервер (например ’assets/snippets/phpquery/’) и вместо require(’phpQuery.php’); поставьте:
          require_once MODX_BASE_PATH . 'assets/snippets/phpquery/filename.php';
          

          только имя файла поставьте свое.
            My portfolio
            Самурай без меча подобен самураю с мечом, только без меча.