В коде товара много лишних картинок, как скачать только те, которые относятся к товару

Тема в разделе "Скачивание картинок и файлов", создана пользователем krapius, 3 мар 2020.

  1. krapius

    krapius Member Пользователи

    Регистрация:
    2 фев 2020
    Сообщения:
    52
    Добрый день!

    на сайте Ссылки недоступны для гостей

    изображения подгружаются слайдером Slick
    та фотка, которая является фоткой данного товара помечена в коде классом slick-active

    работает так — кликаем по товару, подгружается фото,
    либо просто переходим по заранее спаршенным ссылкам — подгружается фото соответствующего товара:

    [​IMG]



    при задании границ парсинга выполнение скриптов включено
    однако, активный класс не выставляется соотвественно

    сам слайдер подгружается,
    но, видимо, скрипты не исполняются (они окружают стартовый набор слоёв и классов новыми),
    от того и не понятно, как идентифицировать фото с товаром?
     

    Вложения:

    • selcab_ru.cdp
      Размер файла:
      40,6 КБ
      Просмотров:
      0
    Последнее редактирование: 3 мар 2020
  2. kadishev1997

    kadishev1997 Well-Known Member Пользователи

    Регистрация:
    27 мар 2019
    Сообщения:
    310
    Включенное выполнение скриптов отображается только на визуальной части, но никак не в коде.

    Но все картинки уже есть в коде, состыкуй их по нужному артикулу/ссылке
    upload_2020-3-3_17-4-23.png

    Либо парси через WBApp (CEF), они наверняка подгрузятся
     
  3. krapius

    krapius Member Пользователи

    Регистрация:
    2 фев 2020
    Сообщения:
    52
    В этом случае даже в визуальной части не отображается

    это да, в коде они есть, но там фото на весь перечень товара
    их не отличить
    мне не за что зацепиться, не соображу

    вот это щас попробую
     
  4. Root

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

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

    На этом сайте все картинки товара в определенном Div
    Код:
    <div class="product-banner__slider-slides-wrap js-product-slider" 
     

    Вложения:

    • selcab_ru.cdp
      Размер файла:
      45,5 КБ
      Просмотров:
      2
  5. krapius

    krapius Member Пользователи

    Регистрация:
    2 фев 2020
    Сообщения:
    52
    Хромом да, получилось загрузить!)

    ой, дольше правда,
    а что поделать?

    [​IMG]
     
  6. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Я проект приложил решением. Вы бы хоть для приличия его открыли.
     
  7. krapius

    krapius Member Пользователи

    Регистрация:
    2 фев 2020
    Сообщения:
    52
    Не в этом диве дело,
    а в том, что содержит класс: class="slick-slide slick-current slick-active"

    там же как сделано

    1 слайдер с 8 фото = 8 товаров = 8 страниц

    на мелкую фотку или по аббревиатуре товара когда кликаем:

    1) перелистывается слайдер
    2) загружается по новой (самостоятельной) ссылке товар — не get не post, а самостоятельная страница
     
    Последнее редактирование: 3 мар 2020
  8. krapius

    krapius Member Пользователи

    Регистрация:
    2 фев 2020
    Сообщения:
    52
    ща ща гляну
     
  9. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Вопрос не так понял из-за его не достаточно точной постановки. Теперь разобрался, в чем вопрос.
     
  10. krapius

    krapius Member Пользователи

    Регистрация:
    2 фев 2020
    Сообщения:
    52
    Глянул, это не совсем то
    я походу сложно объяснил сразу

    да к тому же, оформление не шибко интуитивно понятное,
    по дизайну оформлено как слайдер, код тоже от слайдера

    когда первый раз увидел сайт не понял что именно делает это слайдер:
    охота пролистать фото, так как справа видишь превью следующей фотографии,
    а не тут то было, подгружается новый товар,
    красиво, но не привычно.

    сейчас парсятся ссылки все подряд
    а там 8 фоток — 8 товаров
    соотвественно на 1 товар приходится 1 фотка

    вот как бы её без WBApp спарсить, если так можно?
     
    Последнее редактирование: 3 мар 2020
    Root нравится это.
  11. Root

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

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

    Индекс активной картинки есть в коде:
    Код:
    <div class="product-banner__slider-slides-wrap js-product-slider" data-first-slide-index="1">
    Берете индекс обычной границей парсинга, например, <CD_GRAN_3!> и вставляете его в динамическую [[[n|начало||n|конец]]]
    Код:
    <DOWNLOADFILE>[[[<CD_GRAN_3!>|<div class="product-banner__slider-slide js-product-banner__slider-slide"{skip}src="||0|"]]]</DOWNLOADFILE>
    Просто вставляете такой макрос динамической границы парсинга в шаблон вывода и нужная картинка начинает скачиваться.
     

    Вложения:

    • selcab_ru3.cdp
      Размер файла:
      45,8 КБ
      Просмотров:
      2
  12. krapius

    krapius Member Пользователи

    Регистрация:
    2 фев 2020
    Сообщения:
    52
    офигеть! глаз — алмаз)
    я сразу и не заметил

    спасибо большое!
     
  13. Root

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

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

    krapius Member Пользователи

    Регистрация:
    2 фев 2020
    Сообщения:
    52
    поискал в системе помощи и на форуме, не вижу
    а разобраться охота

    как работает эта конструкция?

    что такое n, допустим, когда первый раз пишем
    это же не номер вхождения?

    иначе бы для первой фотки было бы 0, а не 1, например
    да и слой с индексом вообще уникальный и всегда единственное вхождение
     
  15. krapius

    krapius Member Пользователи

    Регистрация:
    2 фев 2020
    Сообщения:
    52
    похоже это все таки индекс вхождения
    там просто не первая ссылка была — запутало
    ну допустим

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

    вуаля:

    [​IMG]
     
  16. Root

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

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

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

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Так нельзя, так как этот "уникальный" div содержит внутри себя все картинки. И на первом месте в нем может быть картинка, не соответствующая данному товару.

    Используйте указанное решение с динамическими границами парсинга.
     
  18. krapius

    krapius Member Пользователи

    Регистрация:
    2 фев 2020
    Сообщения:
    52
    таки да, я думал он оборачивает активное изображение
    надо научиться пользоваться деревом HTML тегов
     
  19. krapius

    krapius Member Пользователи

    Регистрация:
    2 фев 2020
    Сообщения:
    52
    глянул, всё понятно
    это, похоже, как обычные границы парсинга,
    а может они и есть по сути, со своими возможностями

    а используются, видимо, тогда,
    когда 20 обычных границ парсинга недостаточно,

    или как в моём случае, когда есть необходимость использовать значения одной границы парсинга в другой
     
    Root нравится это.

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