Парсинг картинок повторяющимися границами

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

  1. Grafin

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

    Регистрация:
    14 ноя 2018
    Сообщения:
    130
    Город:
    Киров
    При настройке сбора картинок, на страницу подгружаются и ссылки на картинки аналогичного товара (другой цвет, и значит другой артикул). Делал через повторяющиеся границы. Картинки основного товара идут сверху в блоке, но количество картинок в карточках разное, потому ограничить сбор относительно кол-ва не получается. Как сделать, чтобы брать только основного товара? Ну или придется примерно и наугад ограничивать 1-3 картинками (((
    Ссылка та же Ссылки недоступны для гостей, зарегистрируйтесь или авторизуйтесь на форуме!
    Блок картинок начало <div data-change-time="5" data-slider-big=""> конец <div class="js-slick-nav slider-small" data-slider-small="">
    Сами картинки (большие) href="/ и "
    В границах подставил Ссылки недоступны для гостей, зарегистрируйтесь или авторизуйтесь на форуме!
    Такая идея. В ссылке на картинку этого товара есть номер id товара
    <a class="slider-big__item catalog__slider-top-item " href="/upload/iblock/ef2/ef2596f6c8179a4dbcb083395561843c.png" data-slider-item="04" data-sku-id-44965="" data-group="44965">
    По сути, есть в повторяющихся границах использовать окончание " data-slider-item="04" data-sku-id-44965
    то будут собираться картинки только основного товара.
    Но как это все связать для автоматизации и сбора с любой карточки?
    Есть оригинальная строка на каждой карточке товара заканчивающаяся номером id (без кавычек вначале и конце) "<div class="catalog__about first" style="display: block;" data-sku-44965"
    Пришла такая идея. Я взял и выделил из строки значение id в границе парсинга <CD_GRAN_7!>
    Вот полная ссылка на первое фото href="/upload/iblock/aa6/aa6250de97c57752cdbe3de93cf2ee48.png" data-slider-item="00" data-sku-id-44965
    Затем в повторяющихся границах в значение начала я взял href="/ и конца парсинга " data-slider-item="00" data-sku-id-<CD_GRAN_7!> (добавил границы парсинга для выделения id).
    Но такая схема не сработала. Хотя это было б оптимально.
    Как это правильно сделать?
     
  2. Root

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

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

    Вот тут описаны все моменты касаемо вашего вопроса

    Ссылки недоступны для гостей, зарегистрируйтесь или авторизуйтесь на форуме!
     
  3. Grafin

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

    Регистрация:
    14 ноя 2018
    Сообщения:
    130
    Город:
    Киров
    Спасибо за науку. Пошел образовываться
     
    Root нравится это.
  4. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    12.562
    Пожалуйста.
     
  5. Grafin

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

    Регистрация:
    14 ноя 2018
    Сообщения:
    130
    Город:
    Киров
    Ознакомился. Скачивание картинок с использованием границ мне знакомо. Использую
    Я не смог разобрать какого мне оператора использовать, чтобы можно было сформировать и использовать верное окончание границ парсинга.
    В нужных картинках в окончании есть номер id товара
    Я пошел таким путем.
    Ссылки недоступны для гостей, зарегистрируйтесь или авторизуйтесь на форуме!
    Ссылки недоступны для гостей, зарегистрируйтесь или авторизуйтесь на форуме!
    Вообще на странице представлены артикулы и картинки всех модификаций этого товара (цвет=артикул=картинки)
    Если пойти по указанным ссылкам, то это будет один и тот же товар, но в разной упаковке и потому разным артикулом. На странице строка с артикулом подсвечена зеленым.
    Фото идентичны id 44808
    Каждая модификация имеет свой id товара (помимо артикула), урл страницы оканчивается на номер артикула
    В тегах окончания парсинга фото товара присутствует номер id
    "href="/upload/iblock/2e4/2e4a915f07213bf9c97b8beabb3beb73.png" data-slider-item="00" data-sku-id-44808"
    href="/upload/iblock/dc1/dc17311a4eb20e9f5527b5f60b643394.png" data-slider-item="01" data-sku-id-44808
    Т.к. в тегах конца имеют переменную то я заменил на оператора
    " data-slider-item="{skip}" data-sku-id-44808
    Я выделил через границы парсинга номер id.
    upload_2019-4-24_14-4-39.png
    У меня записалась граница парсинга <CD_GRAN_7!>
    Далее я хотел использовать следующую схему для взятия только нужных фото
    upload_2019-4-24_14-6-52.png
    Но так не работает.
    Подскажите, что не так?
     

    Вложения:

  6. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    12.562
    Такая схема в границах парсинга не предусмотрена.

    Через поиск-замену для исходного кода (shift+ctrl+r, выполняется до вычисления границ парсинга) как-то обозначьте картинки с нужным ID, либо удалите лишние картинки из кода.
     
  7. Grafin

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

    Регистрация:
    14 ноя 2018
    Сообщения:
    130
    Город:
    Киров
    Нашел решение. Спасибо, что не оставили без внимания мою просьбу.
    Успехов в делах!
     
    Root нравится это.

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