Чем парсить

Otto

Постоялец
Регистрация
12 Май 2008
Сообщения
485
Реакции
161
Нашёл старый скрипт парсера.
Парсер написан чисто PHP через Curl.

Интересует какую библиотеку/фреймворк можно использовать что бы переписать парсер, какие плюсы при этом и прочии мелочи...

Спасибо
 
Последнее редактирование:
Использовал PHPQuery и Simple HTML DOM, рекомендую PHPQuery.

Плюсы - код получается компактный и более простой, как результат его потом гораздо легче расширять или
изменять, например в случае если изменилась структура документа на целевом сайте.
 
Подскажите гуру, мне пионеру, как и чем забить в базу или с генерировать Xml
из более чем 200.000 позиций наименований (товары). Уже и мульти curl пробовал, всё равно не то. Дайте хотя бы направление куда копать, но лучше пример какой-нибудь. Наименование позиций идут в json (item: [id, name, param1, description, param2]) со стороннего сервера. В общем предоставлено как API.
и выдают они не одним массивом, а по странично... на одной странице по 100 элементов и получается всего страниц более 2000.

уже неделю бьюсь и не могу догнать, как это к себе в базу перенести по быстрому и без потерь?
 
На столько я уже отчаялся, что выдумал такое чудо
HTML:
    function testAjax(p,n,a,b){
        $.ajax({
          url: './pp/p-'+p+'.php?pg_cn_a='+a+'&pg_cn_b='+b,
          success: function(data) {
            $('.results').append(data);
          }
        });
       
        returnAj(p,n,a,b);
    }
   
    function returnAj(p,n,a,b){
        if(n < cnt){
            n++;
            p++;
            if(p > 55){p = 0};
            a = a + 30;
            b = b + 30;
           
            setTimeout(testAjax(p,n,a,b),5000);
        }
    }

Тут идёт одновременно запуск 50 скриптов обработчиков, которые в свою очередь обрабатывают по 30 ссылок.

/pp/p-N.php где N - номер от 1 до 50

в общем вот так я извратился над своей проблемой.

Может кто-то направит меня и скажет правильно я делаю или есть куда проще дорожка?
 
Может кто-нибудь кинет мне подсказку по вышеупомянутой проблеме или ни кто не сталкивался с таким? Я до сих пор сижу на этом решении, другого пока не вижу...
 
bigsylk, чем мультикурл не угодил? Попробуй Роллинг класс.
И все таки зависит от возможностей Вашего сервера. Запустить можно и в 100-200 потоков, в итоге за 2-3 минуты спарсите все. Или это долго?
 
Приветствую!!!
bigsylk, чем мультикурл не угодил? Попробуй Роллинг класс.
И все таки зависит от возможностей Вашего сервера. Запустить можно и в 100-200 потоков, в итоге за 2-3 минуты спарсите все. Или это долго?
Как раз его и использую только вот мультикурл сам захлёбывается, когда ему под 50 потоков закидываешь. В Моём примере я разбиваю потоки на 50 файлов с мультикурл по 20 потоков, но при помощи ajax. Пока на этом остановился... Правда приходится запускать всё ручками, а в идеале нужно это ставить на автоматический запуск (через cron)
 
Назад
Сверху