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

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

  1. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    12.562
    По тестовому проекту, код без 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
    Сообщения:
    12.562
    Если не можете самостоятельно, приложите проект с указанием, что парсить, опираясь на сказанное вами выше непонятно, как помочь.
     
  3. Serheo

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

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

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

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

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

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

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

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

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

    Вложения:

  5. Root

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Регистрация:
    10 мар 2010
    Сообщения:
    12.562
    Можно в 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
    Сообщения:
    112
    Примерно так кстати и сделал) Только: у меня повторяющиеся границы 2 задаются внутри границ обычных. И туда, "если граница парсинга окажется пустой" я вставил "<label class="control-label">Нет размеров</label>". Получается такая эмуляция в любом случае.
    Спасибо)
     
  13. Alexlife

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

    Регистрация:
    16 окт 2015
    Сообщения:
    47
    Здравствуйте, не знаю по какой причине но перестало выдавать результат повторяющейся внутри повторяющейся, а раньше работало, вот обновил программу :((
    Ссылки недоступны для гостей, зарегистрируйтесь или авторизуйтесь на форуме!
    Ссылки недоступны для гостей, зарегистрируйтесь или авторизуйтесь на форуме!
     
  14. Alexlife

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

    Регистрация:
    16 окт 2015
    Сообщения:
    47
    Проблема была в том что я в первой птотовряющейся границе не задал область для всех повторяющихся чтобы они работали. теперь вторая проблема...как выставить чтобы значения 2 и 3 потворяющейся границе выводились рядом, то есть вторая|третья, вторая|третья....сейчас выводится вторая| вторая| третья третья
     
  15. Alexlife

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

    Регистрация:
    16 окт 2015
    Сообщения:
    47
    Все решил))))
    1)Задать первую ПОВТОРЯЮЩУЮСЯ границу, как область для следующих двух повторяющихся, но первая должна тоже повторятся!
    2)Задать для остальных двух повторяющихся границы, помня область первой потовряющейся(цикл)
    3)Записать значения второй и третьей в первую [CGRAN2][CGRAN3]
    4)Наслаждаться результатом:):rolleyes:
     
    xLime, Kreol и Root нравится это.

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