Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Скорость парсинга


Автор: SqueeZe 2.6.2008, 11:51
Здравствуйте.

Тут пришлось занятся такой вещью, как парсинг html-страниц, с целью выдирания оттуда определенных данных и складирования их в БД.
В чем же проблема? В связи с тем, что страниц, подлежащих парсингу довольно много (например для порядка 4000 наименований, нужно для каждого выбирать данные из нескольких страниц), время затрачиваемое на парсинг даже в условиях широкого канала довольно велико. Интересуясь скоростью выполнения скрипта, и проведя пару тестов, я выяснил, что основное время уходит на запрос содержимого страницы, а не на дальнейший парсинг. Получаю содержимое страницы функцией file_get_contents(). Возможно есть более шустрые способы, предложения которых я и хотел бы услышать от участников форума.

С Уважением, Константин.


Автор: americanets 2.6.2008, 13:11
для получения страниц сокеты и курл в мануале по file_get_contents есть примеры, чтоб лишний раз не пользовали функцию для работы с файлами которая вобщем-то для этого не предназначена

Код


function curl_get_file_contents($URL)
    {
        $c = curl_init();
        curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($c, CURLOPT_URL, $URL);
        $contents = curl_exec($c);
        curl_close($c);

        if ($contents) return $contents;
            else return FALSE;
    }

Автор: SqueeZe 2.6.2008, 19:41
Спасибо. Стало работать на порядок быстрее.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)