Возник вопрос по парсингу

Тема в разделе "Решение различных задач по парсингу", создана пользователем dddima, 9 ноя 2015.

  1. dddima

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

    Регистрация:
    9 окт 2014
    Сообщения:
    39
    Имеется товар, например:
    Ссылки недоступны для гостей
    Нужно, что бы была колонка "Вставка" в которую помещалось "Фианит - аква; Фианит - аметист; Фианит - белый; и тд." и вторая колонка с размерами(по наличию) "16.0-16.5; 16.0-16.5; и тд."
    Что-то голову сломал ни как не получается запарсить. Заранее большое спасибо за помощь!
     
  2. Root

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

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

    Что нужно сделать:
    1) Парсить через Internet Explorer (DOM) - это позволит обрабатывать скрипты на WEB-страницах (именно ими выводятся данные о наличии)(опция активируется в окне ctrl+h);
    2) Задать повторяющиеся границы парсинга внутри обычных (Ссылки недоступны для гостей).

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

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

    Вложения:

  3. dddima

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

    Регистрация:
    9 окт 2014
    Сообщения:
    39
    Спасибо! Все просто, оказывается нужно только Вин7 загрузить с эксп 11.
    В Вин ХР не выходит
     
  4. dddima

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

    Регистрация:
    9 окт 2014
    Сообщения:
    39
    Возник еще вопрос по парсингу этого сайта.
    Сразу не посмотрел, там размер меняется в зависимости от вставки, тоесть нужно вывести после парсинга:
    Вставка 1 размер 1; вставка1 размер 2;...; вставка 2 размер 1; вставка 2 размер 2; ...
    Тоесть по наличию. Заранее спасибо за ваши подсказки
     
  5. t@lev@n

    t@lev@n Member Пользователи

    Регистрация:
    16 июн 2014
    Сообщения:
    88
    Всё это есть в коде страницы, ищем JCCatalogElement и обрабатываем.
     
  6. dddima

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

    Регистрация:
    9 окт 2014
    Сообщения:
    39
    Добрый день! Спасибо за отклик, нашел и что? Там нет нужной информации или я что-то не догоняю!
     
  7. Root

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

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

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

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

    Регистрация:
    9 окт 2014
    Сообщения:
    39
    Root, спасибо будем ждать с нетерпением)
     
  9. Root

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

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

    В ходе разработки алгоритма выяснилось, что решение данного вопроса можно без проблем осуществить имеющимся функционалом (вставив макрос <CD_CYCLE_GRAN_2!> в шаблон повторяющихся границ 1).

    Проект к сообщению прилагаю.

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

    Вложения:

  10. t@lev@n

    t@lev@n Member Пользователи

    Регистрация:
    16 июн 2014
    Сообщения:
    88
    Сергей найденное решение не подходит в данном случае.
    Например у «Фианит - аква» на сайте нет размера «17.0-17.5», а в выводе он есть. (По ссылке в первом посте)
    В переменной которую я указал прописано то что отображается на сайте. Я бы вставку и размер прогнал повторяшкой под поиск-замену. А из «JCCatalogElement» достал бы переменные и обработал их поиск-заменой.
     
  11. t@lev@n

    t@lev@n Member Пользователи

    Регистрация:
    16 июн 2014
    Сообщения:
    88
    На скору руку сделал заготовку
     

    Вложения:

  12. dddima

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

    Регистрация:
    9 окт 2014
    Сообщения:
    39
    Согласен с вами, данное решение не вариант. Попробую ваш способ, теперь более понятен ход ваших мыслей, спасибо!

    Что бы не плодить темы, задам здесь вопросик по другому сайту, что-то тоже не могу достать часть нужной информации


    Конкретно с этой странице не могу достать вот эти данные
    "Остаток: 767 шт.
    Количество в упаковке : 6 шт.
    Ваша цена за шт. : 1 525,00 руб."
     
    Последнее редактирование: 20 ноя 2015
  13. Root

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

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

    1) Отключить Internet Explorer (DOM) в окне ctrl+h (если включен);
    2) Нажать на кнопку с изображением ключика во вкладке "Контент", ввести логин и пароль в открывшемся браузере и передать cookies (кнопка в нижней части окна);
    3) Нажать ctrl+h и вставить в поле custom headers данные, полученные из плагина Firefox - LiveHTTPHeaders:
    Код:
    Host: www.galser.ru
    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:42.0) Gecko/20100101 Firefox/42.0
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
    Accept-Encoding: gzip, deflate
    Connection: keep-alive
    Cache-Control: max-age=0
    После этого, искомая информация будет в коде загружаемого WEB-документа:
    Код:
    <p class="text">ZIPPO</p>
                              <p class="art">арт. 121323</p>
                              <p class="text" style="width:360px;">Нет лучшего способа развести огонь при сильном ветре. Благодаря технологии двойного пламени огонек зажигалки всегда горит сильно и ровно. Гибкий носик позволяет регулировать направление огня. Узкий кончик зажигалки настолько мал, что зажигалкой можно легко разжечь огонь в труднодоступных частях фонарей и походных печей. Зажигалки идеально подходят для поджига свечей, грилей для барбекю и других целей. Выполнены из прочного металла.</p>
                              <div style="padding:4px;background: #C2C2C2;vertical-align: bottom;">
                                <div style="display:none;">
                                  <span id="hpv_21856_quantityfree">767</span>
                                  <span id="hpv_21856_price">1525.00</span>
                                  <span id="hpv_21856_pricepack"></span>
                                  <span id="hpv_21856_quantitypack">6</span>
                                </div>
    С уважением к вам, Сергей...
     
  14. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Понятно. Простите за неподходящей для решения вашей задачи проект.

    При таких условиях, могу предложить вам только такой вариант:
     
  15. dddima

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

    Регистрация:
    9 окт 2014
    Сообщения:
    39
    Да за что простить, спасибо вам за то, что помогаете. К сожалению такой вариант не подойдет.

    3) Нажать ctrl+h и вставить в поле custom headers данные, полученные из плагина Firefox - LiveHTTPHeaders:
    Можно где то по этому вопросу почитать? А то вдруг еще появятся вопросы такого плана.
     
  16. t@lev@n

    t@lev@n Member Пользователи

    Регистрация:
    16 июн 2014
    Сообщения:
    88
    Вариант без обработки переменной? И с актуальными размерами?
     
  17. Root

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

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

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

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Да, где под каждую вставку своя строка в CSV и в каждой этой строке будет ячейка с перечисленными актуальными размерами для каждой вставки.
     
  19. t@lev@n

    t@lev@n Member Пользователи

    Регистрация:
    16 июн 2014
    Сообщения:
    88
    Если не секрет, то как это сделать в данном случае?
     

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