Не удается задать повторяющиеся границы внутри повторяющихся

Тема в разделе "Границы парсинга", создана пользователем maxwelhelp, 26 окт 2017.

  1. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    11.072
    Город:
    Сочи
    По тестовому проекту, код без WBApp:
    Код:
    Механизмы трансформации</div><div class="h7"><table cellpadding="5"><tr><td><a href="/sites/bels.ru/files/category_pictures/SyncS_big.jpg" title="Sync-S" rel="lightbox[7]"><img src="http://www.bels.ru/sites/bels.ru/files/category_icons/SyncS_small.jpg" alt="Sync-S" style="width:80px; height:80px;"/></a><br/>Sync-S</td><td><a href="/sites/bels.ru/files/category_pictures/sync.jpg" title="Sync" rel="lightbox[7]"><img src="http://bels.ru/sites/bels.ru/files/imagecache/mod1/category_pictures/sync.jpg" alt="Sync" style="width:80px; height:80px;"/></a><br/>Sync</td>
    Код с включенным WBApp:
    Код:
    Механизмы трансформации</div><div class="h7"><table cellpadding="5"><tbody><tr><td><a title="Sync-S" href="/sites/bels.ru/files/category_pictures/SyncS_big.jpg" rel="lightbox[7]"><img style="width: 80px; height: 80px;" alt="Sync-S" src="http://www.bels.ru/sites/bels.ru/files/category_icons/SyncS_small.jpg"></a><br>Sync-S</td><td><a title="Sync" href="/sites/bels.ru/files/category_pictures/sync.jpg" rel="lightbox[7]"><img style="width: 80px; height: 80px;" alt="Sync" src="http://bels.ru/sites/bels.ru/files/imagecache/mod1/category_pictures/sync.jpg"></a><br>Sync</td></tr></tbody>
    Легко увидеть, что код отличается.

    <img src=" задан, как начало второй повторяющейся границы парсинга, в случае с включенным WBApp естественно нужно задать начало, как <img style="width: 80px; height: 80px;" alt="Sync" src=", тогда будет работать.

    Говорю в третий раз: Перезадайте границы парсинга в соответствии с мануалом.
     
  2. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    11.072
    Город:
    Сочи
    Если не можете самостоятельно, приложите проект с указанием, что парсить, опираясь на сказанное вами выше непонятно, как помочь.
     
  3. Serheo

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

    Регистрация:
    13 окт 2018
    Сообщения:
    92
    Город:
    Москва
    Да мне самому интересно разобраться. Обычно я тут сам себе на форуме отвечаю, а тут прям переклинило.

    Поступил проще. Сделал простейшую табличку и залил себе на сервер. И тут как раз и увидел как WBApp код переставляет и с перезаданными границами заработало все. Раз рабочий проект изначально под WBApp не работает, значит я там косякнул где-то, а это уже другой вопрос, т.к. логику работы вложенок я понял.

    И где-то надо красным в мануалах пометить, что WBApp изменяет код и границы парсинга могут слететь. Не всегда, но бывает.

    Спасибо за помощь!

    PS Не помню написано ли это в мануале, но родительскую границу надо выводить обязательно вместе с границами парсинга, тогда работает. Иначе как раз родительские строки и не выводятся. Рабочий проект заработал.

    Еще раз спасибо!!!
     
    Последнее редактирование: 14 май 2019
    Root нравится это.
  4. ltt

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

    Регистрация:
    21 дек 2016
    Сообщения:
    89
    Добрый день! Никак не могу понять... Повторяющуюся границу находит: Ссылки недоступны для гостей, зарегистрируйтесь или авторизуйтесь на форуме! , а если пытаюсь в ней найти обычную границу - пишет что в документе нет повторяющихся границ Ссылки недоступны для гостей, зарегистрируйтесь или авторизуйтесь на форуме!
    И так происходит, если повторяющаяся граница одна.
    В остальных случаях прекрасно все работает... Приложил файл парсинга
    Подскажите, в чем дело, второй день сижу..
     

    Вложения:

  5. Root

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

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

    Увидел ошибку, спасибо.
     
    ltt нравится это.
  6. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    11.072
    Город:
    Сочи
    Ошибку исправил.

    Замените файл Content Downloader.exe (в папке с программой) этим файлом:
    Скрытое содержимое:
    **Скрытое содержимое: доступно при наличии 86 постов.**
    2019-05-15_13-21-11.png
     
    ltt нравится это.
  7. ltt

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

    Регистрация:
    21 дек 2016
    Сообщения:
    89
    Спасибо, Сергей!
     
  8. Root

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

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

    Но есть еще один момент, тут дело уже касается настроек.

    Вторую ссылку из проекта все равно "не парсит". Так как у вас создаются комбинации первой и второй повторяющейся границы с помощью [COMBO_2]. Во второй ссылке проекта повторяющуюся границу не находит ввиду отсутствия кода в "размеры границы" (указаны в качестве контента для повторяющейся границы 2), соответственно комбинации не создаются.
     
  9. ltt

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

    Регистрация:
    21 дек 2016
    Сообщения:
    89
    Хмм, спасибо! Попробую поставить CheckEntry. В прошлом случае так же хотел сделать, но граница была не пустая, не работала..
     
  10. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    11.072
    Город:
    Сочи
    Как вариант. Если найдете еще ошибку, сообщите.
     
    ltt нравится это.
  11. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    11.072
    Город:
    Сочи
    Можно в shift+ctrl+r вставить такую поиск-замену:
    Код:
    {ifhas}<label class="control-label">Размер</label>{then}{else}{get}|{get}<label class="control-label">Размер</label><input type="radio" name="option[2111]" value="6250" />{br}{br}{br}550x1900{br}</label></div>
    Такое правило поиск-замены, в случае, если в коде документа НЕ содержится <label class="control-label">Размер</label>, добавит к документу недостающий текст:
    Код:
    <label class="control-label">Размер</label><input type="radio" name="option[2111]" value="6250" />{br}{br}{br}550x1900{br}</label></div>
     
    ltt нравится это.
  12. ltt

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

    Регистрация:
    21 дек 2016
    Сообщения:
    89
    Примерно так кстати и сделал) Только: у меня повторяющиеся границы 2 задаются внутри границ обычных. И туда, "если граница парсинга окажется пустой" я вставил "<label class="control-label">Нет размеров</label>". Получается такая эмуляция в любом случае.
    Спасибо)
     

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