Парсинг таблицы на сайте

Тема в разделе "Границы парсинга", создана пользователем murattkz, 11 мар 2014.

  1. murattkz

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

    Регистрация:
    12 фев 2014
    Сообщения:
    4
    Всем доброго дня! Сергей некогда вешал обучалку по парсингу - Ссылки недоступны для гостей, зарегистрируйтесь или авторизуйтесь на форуме! . Там есть отличный пример таблица - Ссылки недоступны для гостей, зарегистрируйтесь или авторизуйтесь на форуме! . А вопрос такой: как запарсить эту таблицу таким образом, чтобы в результате таблица выглядела точной такой же. То есть нужно брать в расчет пустые ячейки, которые в результате должны оставаться пустыми, чтобы значения заголовков "Занимаемая должность", "Фамилия и инициалы", "Номера телефонов" соответствовали друг другу. Спасибо!
     
  2. Root

    Root Администратор Команда форума Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    10.873
    Город:
    Сочи
    Здравствуйте!
    Думаю, только таким образом Ссылки недоступны для гостей, зарегистрируйтесь или авторизуйтесь на форуме! (тогда точно будет соответствовать)
    Может быть сходу сложно понять принцип, но по сути он прост и удобен.
    Если будут вопросы - поясню.
    Спасибо!
     
  3. murattkz

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

    Регистрация:
    12 фев 2014
    Сообщения:
    4
    скопипастил [GRAN1][CSVCS]<NIMG>[GRAN2]</NIMG>[CSVCS][GRAN3] - не помогло
     
  4. Root

    Root Администратор Команда форума Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    10.873
    Город:
    Сочи
    Прочитать мануал и осознать, должно помочь.
     
  5. eugen

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

    Регистрация:
    1 фев 2014
    Сообщения:
    35
    Хорошо, а как быть, если у меня повоторяющиеся границы в повторяющихся границах?) Получается, что я должен сделать бренды повторяющимися границами, а что тогда делать со строками с адресами? Помогите разобраться, плиз!
    Ссылки недоступны для гостей, зарегистрируйтесь или авторизуйтесь на форуме!
     
  6. kagorec

    kagorec Администратор Команда форума Администратор

    Регистрация:
    3 янв 2011
    Сообщения:
    3.485
    GETMORECYCLECONTENT внутри повторяющихся границ и с заменой таличных тегов на раздклители документа
     
  7. eugen

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

    Регистрация:
    1 фев 2014
    Сообщения:
    35
    Что-то я не могу понять как это сделать...

    Получается, что эти блоки я делаю повторяющимися границами
    http://prntscr.com/3h0n8k[/url] и Ссылки недоступны для гостей, зарегистрируйтесь или авторизуйтесь на форуме!
    Получаю такие блоки
    PHP:
    <table width="100%"><tbody><tr><th colspan="3"><img src="/img/tmp/brends/arsenal.png" alt="Arsenal"></th></tr><tr><td style="width: 25%;"><strong>ЧТУП «Кофеман»</strong><br></td><td style="width: 35%;">Минскул Тимирязева123/2</td><td>+375 (29126-94-02, +375 (17273-76-11</td></tr><tr><td style="width: 25%;"><strong>ЧУП «Ведуус-сервис»</strong><br>кроме Prestigio Multiphone</td><td style="width: 35%;">МинскулБогдановича78</td><td>+375 (17331-38-35, +375 (29310-00-00, +375 (33310-00-00, +375 (25500-00-05</td></tr></tbody></table>
    и
    PHP:
    <table width="100%"><tbody><tr><th colspan="3"><img src="/img/tmp/brends/asus.png" alt="Asus"></th></tr><tr><td style="width: 25%;"><strong>СЦ «Правша» (ООО «CDL-distri»)</strong><br></td><td style="width: 35%;">Минскпр-т Независимости40</td><td>+375 (29133-31-44, +375 (29574-77-16, +375 (29319-18-75, +375 (29856-50-73</td></tr><tr><td style="width: 25%;"><strong>ООО «Компьютербай Сервис»</strong><br>для физических лиц</td><td style="width: 35%;">МинскпрМашерова 11офис 104</td><td>+375 (17284-34-76, +375 (17284-71-08, +375 (29277-00-00, +375 (29281-00-00,+375 (29324-00-00</td></tr></tbody></table>
    Теперь мне фактически надо получить такую структуру

    Бренд1;название СЦ-Адрес-Телефон
    ;название СЦ-Адрес-Телефон
    Бренд2;название СЦ-Адрес-Телефон
    ;название СЦ-Адрес-Телефон

    или так
    Бренд1;название СЦ-Адрес-Телефон
    Бренд1;название СЦ-Адрес-Телефон
    Бренд2;название СЦ-Адрес-Телефон
    Бренд2;название СЦ-Адрес-Телефон


    Что-то дальше с этим делать... и куда вставлять GETMORECYCLECONTENT. Его в шаблон повторяющихся страниц?
     
    Последнее редактирование: 7 май 2014
  8. eugen

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

    Регистрация:
    1 фев 2014
    Сообщения:
    35

    Никто не подскажет?(
     
  9. Kreol

    Kreol Модератор Команда форума Модератор

    Регистрация:
    6 янв 2013
    Сообщения:
    2.530
    что подразумевается под Бренд???
    Напишите реальный вид выходных данных.
     
  10. eugen

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

    Регистрация:
    1 фев 2014
    Сообщения:
    35
    ASUS;СЦ «Правша» (ООО «CDL-distri»);Минск, пр-т Независимости, 40;+375 (29) 133-31-44, +375 (29) 574-77-16, +375 (29) 319-18-75, +375 (29) 856-50-73

    ASUS;ООО «Компьютербай Сервис»;Минск, пр. Машерова 11, офис 104;+375 (17) 284-34-76, +375 (17) 284-71-08, +375 (29) 277-00-00, +375 (29) 281-00-00,+375 (29) 324-00-00
     
  11. kagorec

    kagorec Администратор Команда форума Администратор

    Регистрация:
    3 янв 2011
    Сообщения:
    3.485
    Описываю подробнее свой предидущий пост, надеюсь поможет вам реализовать поставленную задачу:

    1. Отдельной границей простой выделите область кода где содержится вся таблица со всемы перечислениями брендов и его значений.
    2. Назначьте эту границу для повторяющиеся границы
    3. Переходим в настройка повторяющихся границ, тут укажем внутри границей например [GRAN5] чтоб выводило название бренда
    4. Имея в переменной/границе бренд его теперь назначим перед каждым циклом в цикле, тоесть - читаем сперва подробную справку о Ссылки недоступны для гостей, зарегистрируйтесь или авторизуйтесь на форуме!
    5. В повторяющиеся границе будет следующее:
     
    Последнее редактирование: 12 май 2014
  12. Kreol

    Kreol Модератор Команда форума Модератор

    Регистрация:
    6 янв 2013
    Сообщения:
    2.530
    оберните макрос GETMORECONTENT в REPLACE
    Код:
    [REPLACE(</td>|;{break}re:<(.*?)>|)]<GETMORECONTENT></GETMORECONTENT>[/REPLACE]
     

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