Парсим лето-зима

Тема в разделе "Парсинг конкретных сайтов по запросу (ПЛАТНО)", создана пользователем dexperanto, 16 апр 2015.

  1. dexperanto

    dexperanto New Member Пользователи

    Регистрация:
    21 ноя 2014
    Сообщения:
    123
    Добрый день, уважаемые формучане.
    Стоит задачка слить параметры товаров, пример
    Скрытое содержимое:
    **Скрытое содержимое: доступно при наличии 1 постов.**
    Поскольку у товаров больше 20 характеристик, стоит вопрос, как это аккуратно и чётко уложить в csv.
    У нас была мысль сначала спарсить характеристики, и определить, какие есть в сплитах, какие в кондёрах и так далее.
    Но всё равно на выходе чаще 20 параметров.

    Стоит задача слить всё, что возможно.
    Как это сделать через регулярку, не совсем понимаю.
    Код такой:
    Код:
     <td><a data-fancybox-type="ajax" href="/fdescript/976/?design=1">Вес внутреннего блока</a></td>
                                            <td> <span>  8,5  кг</span></td>
    Подскажите, пожалуйста, решение.
    Всем спасибо!
     
  2. kagorec

    kagorec Администратор Команда форума Администратор

    Регистрация:
    3 янв 2011
    Сообщения:
    4.442
    Адрес:
    Latvia
    Ultimate версия программы автоматически распарсивает поколоночно такие характеристики макросом DYNAMICVALUE.
    Или можно повторяющиеся границей распарсить характеристики в зависимости от нужного формата.
     
  3. dexperanto

    dexperanto New Member Пользователи

    Регистрация:
    21 ноя 2014
    Сообщения:
    123
    В том-то и дело, что параметры везде не одинаковы.
    К примеру, кондиционер Samsung, у него параметры Вес, страна, мощность, размеры.
    А есть кондиционер Panasonic, у него параметры Вес, производитель, обороты, температура.

    Нужно сделать так, чтобы все одинаковые параметры для всех товаров сайта лежали по своим ячейкам. В том-то и проблема.
    Параметров за 50 штук, а границ всего 20.

    1. Насколько я понимаю, динамические будут брать то, что есть, а нам нужна чёткая структура.
    2. Повторяющиеся опять же выдерут те параметры, которые есть под конкретный товар...

    Как быть?
     
  4. kagorec

    kagorec Администратор Команда форума Администратор

    Регистрация:
    3 янв 2011
    Сообщения:
    4.442
    Адрес:
    Latvia
    Тогда надо немного поработать поиск-заменой до работы повт.границы:
    1. Границей 5 например обнять область кода всех характеристик.
    2. В дополнительных настройках границы 5 в поле поиск-замена можно постараться привести списком замен к такому порядку как задумано.
    3. Повторяющиеся границе назначить эту границу 5 как ограничение контента где они будут работать
     
  5. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Здравствуйте.

    Использовать макрос шаблона вывода [VERTTABLE] в ULTIMATE-версии программы.

    Проект настроек программы для парсинга характеристик с указанной вами страницы к сообщению прилагаю (меню - файл - загрузить проект).

    С уважением к вам, Сергей.
     

    Вложения:

  6. dexperanto

    dexperanto New Member Пользователи

    Регистрация:
    21 ноя 2014
    Сообщения:
    123
    Работает.
    Но ячейки меняются от товара к товару.
    Как сделать так, чтобы они были постоянными?
    К примеру, чтобы было 50 параметров, единых для всех, и если их нет, то ячейки просто пропускаются.
     
  7. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Это не страшно, что они меняются (при парсинге множества товаров их характеристики будут распределяться по нужным ячейкам автоматически). Вам дали рабочий проект, парсите, пожалуйста.
     
  8. dexperanto

    dexperanto New Member Пользователи

    Регистрация:
    21 ноя 2014
    Сообщения:
    123
    Просто где-то так, а где-то по-другому.
    Для админки нужны статичные ячейки, чтобы она подгружала из них инфу.
    [​IMG]
    [​IMG]
     
  9. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Это не страшно, что они меняются (при парсинге множества товаров их характеристики будут распределяться по нужным ячейкам автоматически). Вам дали рабочий проект, парсите, пожалуйста.
     
  10. kagorec

    kagorec Администратор Команда форума Администратор

    Регистрация:
    3 янв 2011
    Сообщения:
    4.442
    Адрес:
    Latvia
    В дополнительных настройках границы использовать список замен чтобы привести общий список в нужные 50 параметров, все вариации сменить на одну общую для каждой характеристики
    Пример:
    ---
    Порядок колонок будет всегда одинаков после окончания парсинга всего сайта, при использовании автоматических макросов распарсивания таблиц
    .
     
    Последнее редактирование: 16 апр 2015
  11. dexperanto

    dexperanto New Member Пользователи

    Регистрация:
    21 ноя 2014
    Сообщения:
    123
    Всё отлично работает, спасибо. Но стоит другая проблемка. К примеру, теперь у каждого товара по 155 параметров. К примеру, если у кондиционера не было голосового управления, а в сплит-системе оно есть, то у кондиционера тоже будет такой параметр.

    Можно, безусловно, поменять потом после парсинга везде пустую строку на слово ДА. Но товары на сайт-исходник забиты так, что иногда параметр стоит, но значения его нету. Только в таком случае нам нужно прописывать в значении слово ДА, даже если его нет. Остальные параметры из 155, которые не от этого товара, они останутся пустыми и движок сайта, куда будем лить, пропустит их.

    То есть, задача изменить в пустых присутствующих параметрах пробел, то есть <td></td> на слово ДА.

    Меняю в поиск-замене загруженного кода, нет результата. В дополнительных настройках границы тоже не выходит. Если в поиска-замена в доп.опциях макроса [DYNAMICVALUES] тоже ничего. И [FIRST_REPLACE(<td>{skip}</td>|ДА)] перед макросом не помогает.

    Получается, мне всего лишь нужно заменить пробелы в пределах данной таблицы на слово "ДА". Но не все пробелы, а только те, которые встречаются в параметрах по каждому товару.
     
  12. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Здравствуйте.

    Нужно в дополнительных настройках границ парсинга производить такую вот замену:
    Проект к сообщению прилагаю (меню - файл - загрузить проект).

    С уважением к вам, Сергей.
     

    Вложения:

  13. dexperanto

    dexperanto New Member Пользователи

    Регистрация:
    21 ноя 2014
    Сообщения:
    123
    Сергей, спасибо, всё отлично работает.
    Но не парсит всю таблицу.
    Упирается в управление, доп.параметры и прочее, и их пропускает.
    Я попробовал через повторяющиеся границы по тэгам таблицы... так оно дополнительные параметры подсовывает на вторую строку. Как сделать, чтобы они были продолжением к основным?

    Код:
    <CD_DOCURL!>[CSVCS]<CD_GRAN_1!>[CSVCS]<CD_GRAN_11!>[CSVCS]<CD_GRAN_4!>[CSVCS]<CD_GRAN_5!>[CSVCS]<CD_GRAN_6!>[CSVCS]<CD_GRAN_7!>[CSVCS]<CD_GRAN_8!>[CSVCS][HTMTOTXT:]<CD_GRAN_9!>[/HTMTOTXT][CSVCS][DFN][CLEAR][TRANSLITE][NOFOLDER]<CD_GRAN_10!>[REWRITE][/DFN]<DOWNLOADFILE><CD_GRAN_10!></DOWNLOADFILE>[CSVCS][VERTTABLE][PREFIX][/PREFIX][MIN]2[/MIN]<CD_GRAN_3!><CD_CYCLE_GRAN_1!>[/VERTTABLE]
     

    Вложения:

  14. dexperanto

    dexperanto New Member Пользователи

    Регистрация:
    21 ноя 2014
    Сообщения:
    123
  15. dexperanto

    dexperanto New Member Пользователи

    Регистрация:
    21 ноя 2014
    Сообщения:
    123
    Код:
    <table class="table table-striped table-hover">
                                <tbody>
                                <th>Общие характеристики</th><th></th><tr>
                                            <td><a data-fancybox-type="ajax" href="/fdescript/972/?design=1">Режим работы</a></td>
                                            <td> <span>  охлаждение / обогрев  </span></td>
                                        </tr><tr>
                                            <td><a data-fancybox-type="ajax" ...href="/fdescript/1026/?design=1">Функция авторестарта</a></td>
                                            <td></td>
                                        </tr><tr>
                                            <td><a data-fancybox-type="ajax" href="/fdescript/1009/?design=1">Управление скоростью вентилятора</a></td>
                                            <td></td>
                                        </tr><tr>
                                            <td><a data-fancybox-type="ajax" href="/fdescript/1010/?design=1">Функция самодиагностики</a></td>
                                            <td></td>
                                        </tr><tr>
                                            <td><a data-fancybox-type="ajax" href="/fdescript/1031/?design=1">Непрерывное перемещение заслонок</a></td>
                                            <td></td>
                                        </tr><tr>
                                            <td><a data-fancybox-type="ajax" href="/fdescript/1817/?design=1">Регулировка воздушных заслонок по вертикали при помощи пульта ДУ</a></td>
                                            <td></td>
                                        </tr><tr>
                                            <td><a data-fancybox-type="ajax" href="/fdescript/1818/?design=1">Регулировка воздушных жалюзи по горизонтали при помощи пульта ДУ</a></td>
                                            <td></td>
                                        </tr><tr>
                                            <td><a data-fancybox-type="ajax" href="/fdescript/1035/?design=1">Бесшумный внутренний блок</a></td>
                                            <td></td>
                                        </tr><tr>
                                            <td><a data-fancybox-type="ajax" href="/fdescript/1036/?design=1">Теплый пуск</a></td>
                                            <td></td>
                                        </tr><tr>
                                            <td><a data-fancybox-type="ajax" href="/fdescript/1040/?design=1">Защита от предельных температур</a></td>
                                            <td></td>
                                        </tr><tr>
                                            <td><a data-fancybox-type="ajax" href="/fdescript/1042/?design=1">Защита от нестабильности электропитания</a></td>
                                            <td></td>
                                        </tr><tr>
                                            <td><a data-fancybox-type="ajax" href="/fdescript/1012/?design=1">Антикоррозионная защита</a></td>
                                            <td></td>
                                        </tr><tr>
                                            <td><a data-fancybox-type="ajax" href="/fdescript/1028/?design=1">Автоматическая разморозка</a></td>
                                            <td></td>
                                        </tr></tr></td><th>Уникальные функции DAIKIN</th><th></th><tr>
                                            <td><a data-fancybox-type="ajax" href="/fdescript/1045/?design=1">Ururu Sarara</a></td>
                                            <td></td>
                                        </tr><tr>
                                            <td><a data-fancybox-type="ajax" href="/fdescript/1041/?design=1">Контроль правильности подключения</a></td>
                                            <td></td>
                                        </tr><tr>
                                            <td><a data-fancybox-type="ajax" href="/fdescript/1558/?design=1">Онлайн-контроллер Daikin KKRP01A</a></td>
                                            <td></td>
                                        </tr></tr></td>    
                                </tbody>
                            </table>
    
     
  16. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Структура HTML-таблицы там немного нестандартная.

    Переделал ваш проект по этой науке Ссылки недоступны для гостей

    Пожалуйста, проверяйте сейчас.
     

    Вложения:

Поделиться этой страницей